教程:将 CA 证书上传到 IoT 中心并对其进行验证
将根证书颁发机构 (CA) 证书或从属 CA 证书上传到 IoT 中心后,可以将其设置为自动验证,也可以手动证明你拥有证书。
自动验证证书
在 Azure 门户中,导航到你的 IoT 中心,从资源菜单中的“安全设置”下选择“证书”。
从命令栏中选择“添加”,以添加新的 CA 证书。
在“证书名称”字段中输入显示名称。
在“证书 .pem 或 .cer 文件”字段中选择要添加的证书文件。
要自动验证证书,请选中“在上传时将证书状态设置已验证”旁边的框。
选择“保存”。
如果选择在上传过程中自动验证证书,则在工作窗格的“证书”选项卡上显示的证书的状态设置为“已验证”。
上传后手动验证证书
如果未选择在上传过程中自动验证证书,则显示的证书的状态设置为“未验证”。 必须执行以下步骤来手动验证证书。
选择证书以查看“证书详细信息”对话框。
在对话框中选择“生成验证码”。
将验证码复制到剪贴板。 必须在后续步骤中将此验证码用作证书主题。 例如,如果验证码为 75B86466DA34D2B04C0C4C9557A119687ADAE7D4732BDDB3,请将其添加为证书使用者,如下面的步骤所示。
你可以通过三种方式生成验证证书:
如果使用 Microsoft 提供的 PowerShell 脚本,请运行
New-CACertsVerificationCert "<verification code>"
以创建名为VerifyCert4.cer
的证书,并将<verification code>
替换为以前生成的验证码。 有关详细信息,请参阅教程:使用 OpenSSL 创建测试证书。如果使用 Microsoft 提供的 Bash 脚本,请运行
./certGen.sh create_verification_certificate "<verification code>"
以创建名为verification-code.cert.pem
的证书,并将<verification code>
替换为以前生成的验证码。 有关详细信息,请参阅教程:使用 OpenSSL 创建测试证书。如果使用 OpenSSL 来生成证书,则必须先生成私钥,然后生成证书签名请求 (CSR) 文件。 在以下示例中,请将
<verification code>
替换为以前生成的验证码:$ openssl genpkey -out pop.key -algorithm RSA -pkeyopt rsa_keygen_bits:2048 $ openssl req -new -key pop.key -out pop.csr ----- Country Name (2 letter code) [XX]:. State or Province Name (full name) []:. Locality Name (eg, city) [Default City]:. Organization Name (eg, company) [Default Company Ltd]:. Organizational Unit Name (eg, section) []:. Common Name (eg, your name or your server hostname) []:<verification code> Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
然后,使用根 CA 或从属 CA 的相应配置文件以及 CSR 文件创建证书。 以下示例演示如何使用 OpenSSL 从根 CA 配置文件和 CSR 文件创建证书。
openssl ca -config rootca.conf -in pop.csr -out pop.crt -extensions client_ext
有关详细信息,请参阅教程:使用 OpenSSL 创建测试证书。
在“证书详细信息”视图中选择新证书。
上载证书后,选择“验证”。 证书状态应更改为“已验证”。