gpt4 book ai didi

java - 使用 x509 正确配置 Azure IoT 中心 DPS 组注册

转载 作者:行者123 更新时间:2023-12-02 01:26:33 24 4
gpt4 key购买 nike

我对 Auzre IoT 中心中的正确配置证书有疑问。我想通过组注册使用设备配置服务。我的目标是达到以下场景:使用 CA 根证书生成一些中间证书,然后使用此中间证书来签署设备的证书。因此,在阅读文档后,我了解到以下步骤:

  1. 上传 CA 根证书:

enter image description here

  • 在群组注册​​配置中上传中级证书:
  • enter image description here

  • 在 Java 代码中使用设备的证书进行配置。
  • 只有当我在设备代码中通过中间证书时,这才有效(无论我在步骤 2 中选择 CA 还是中间证书):

    private static final Collection<String> INTERMEDIATE_CERTS = new LinkedList<>();
    ...
    SecurityProvider securityProviderX509 = new SecurityProviderX509Cert(privateCert, privateKey, INTERMEDIATE_CERTS);
    provisioningDeviceClient = ProvisioningDeviceClient.create(globalEndpoint, idScope, PROVISIONING_DEVICE_CLIENT_TRANSPORT_PROTOCOL, securityProviderX509);

    此代码来自 azure 的 github 示例。在设备代码中使用中间证书的目的是什么?难道不应该根据之前步骤中上传到 Azure 的中间和根 CA 证书链进行验证吗?

    最佳答案

    当您上传中间证书时,上传的唯一内容是证书本身,而不是从根到中间的整个链。中间证书唯一拥有的就是有关签署它的证书的信息,仅此而已。一条链中可以有多个中间链,我们在评估设备的证书链时不能对中间链做出任何假设。

    设备需要向 DPS 提供其整个证书链才能成功配置设备。如果没有完整的链,就无法确定经过验证的证书是否在设备的信任链中。

    我们建议使用中间证书来签署设备,因为安全最佳实践是让根保持离线状态。

    关于java - 使用 x509 正确配置 Azure IoT 中心 DPS 组注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56830851/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com