如何使用设备预配服务执行 X.509 CA 证书的所有权证明

验证的 X.509 证书颁发机构 (CA) 证书是已上传并注册到预配服务,且已在该服务中完成所有权证明的 CA 证书。

所有权证明涉及以下步骤:

  1. 获取预配服务针对 X.509 CA 证书生成的唯一验证码。 可以从 Azure 门户获取此信息。
  2. 使用验证码作为使用者创建 X.509 验证证书,使用与 X.509 CA 证书关联的私钥对该证书进行签名。
  3. 将签名的验证证书上传到服务。 服务将使用要验证的 CA 证书的公共部分来验证验证证书,从而证明你拥有 CA 证书的私钥。

注册 X.509 证书的公共部分并获取验证码

若要将 CA 证书注册到预配服务并获取可在所有权证明期间使用的验证码,请遵循以下步骤。

  1. 在 Azure 门户中导航到预配服务,从左侧菜单打开“证书”。

  2. 单击“添加”以添加新证书。

  3. 输入证书的友好显示名称。 浏览到表示 X.509 证书公共部分的 .cer 或 .pem 文件。 单击“上载” 。

  4. 收到已成功上传证书的通知后,单击“保存”。

    上传证书

    该证书将显示在“证书资源管理器”列表中。 请注意,此证书的“状态”为“未验证”。

  5. 单击在上一步骤中添加的证书。

  6. 在“证书详细信息”中,单击“生成验证码”。

  7. 预配服务会创建一个可用于验证证书所有权的 验证码。 将此代码复制到剪贴板。

    验证证书

对验证代码进行数字签名,以创建验证证书

现在,需要使用与 X.509 CA 证书关联的、可生成签名的私钥来为 验证码 签名。 此过程称为所有权证明,最终会生成一个签名的验证证书。

Azure 提供了工具和示例来帮助你创建签名的验证证书:

  • Azure IoT 中心 C SDK 提供了 PowerShell (Windows) 和 (Linux) Bash 脚本来帮助你创建用于开发的 CA 证书和叶证书,以及使用验证码执行所有权证明。 可将系统相关的文件下载到工作文件夹,并遵照管理 CA 证书自述文件中的说明执行 CA 证书的所有权证明。
  • Azure IoT 中心 C# SDK 包含 组证书验证示例,可用于执行所有权证明。

重要

除了执行所有权证明以外,使用上述 PowerShell 和 Bash 脚本还可创建根证书、中间证书和叶证书用于验证和预配设备。 只能在开发中使用这些证书。 切勿将它们用于生产环境。

文档和 SDK 中提供的 PowerShell 与 Bash 脚本依赖于 OpenSSL。 还可以借助 OpenSSL 或其他第三方工具执行所有权证明。

上传已签名的验证证书

  1. 在门户中将生成的签名作为验证证书上传到预配服务。 在 Azure 门户上的“证书详细信息”中,使用“验证证书 .pem 或 .cer 文件”字段旁边的“文件资源管理器”图标从系统上传已签名的验证证书。

  2. 成功上传证书后,单击“验证”。 在“证书资源管理器”列表中,证书的“状态”会更改为“已验证”。 如果状态未自动更新,请单击“刷新”。

    上传证书验证

后续步骤