教程:将 CA 证书上传到 IoT 中心并对其进行验证

将根证书颁发机构 (CA) 证书或从属 CA 证书上传到 IoT 中心后,可以将其设置为自动验证,也可以手动证明你拥有证书。

自动验证证书

  1. 在 Azure 门户中,导航到你的 IoT 中心,从资源菜单中的“安全设置”下选择“证书”。

  2. 从命令栏中选择“添加”,以添加新的 CA 证书。

  3. 在“证书名称”字段中输入显示名称。

  4. 在“证书 .pem 或 .cer 文件”字段中选择要添加的证书文件。

  5. 要自动验证证书,请选中“在上传时将证书状态设置已验证”旁边的框。

    Screenshot showing how to automatically verify the certificate status on upload.

  6. 选择“保存”。

如果选择在上传过程中自动验证证书,则在工作窗格的“证书”选项卡上显示的证书的状态设置为“已验证”。

上传后手动验证证书

如果未选择在上传过程中自动验证证书,则显示的证书的状态设置为“未验证”。 必须执行以下步骤来手动验证证书。

  1. 选择证书以查看“证书详细信息”对话框。

  2. 在对话框中选择“生成验证码”。

    Screenshot showing the certificate details dialog.

  3. 将验证码复制到剪贴板。 必须在后续步骤中将此验证码用作证书主题。 例如,如果验证码为 75B86466DA34D2B04C0C4C9557A119687ADAE7D4732BDDB3,请将其添加为证书使用者,如下面的步骤所示。

  4. 你可以通过三种方式生成验证证书:

    • 如果使用 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 创建测试证书

  5. 在“证书详细信息”视图中选择新证书。

  6. 上载证书后,选择“验证”。 证书状态应更改为“已验证”。