繁体   English   中英

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

[英]Proper configuration of Azure IoT Hub DPS group enrollment with x509

我对Auzre的IoT中心中的正确配置证书有疑问。 我想将Device Provisioning Service与组注册一起使用。 我的目标是达到以下情形:使用CA根证书生成一些中间证书,然后使用此中间证书对设备的证书进行签名。 因此,阅读文档后,我了解以下步骤:

  1. 上载CA根证书:

在此处输入图片说明

  1. 在组注册配置中上载中间证书:

在此处输入图片说明

  1. 使用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成功配置设备。 没有完整的链,就无法确定设备的信任链中是否包含经过验证的证书。

我们建议使用中间证书对设备进行签名,因为安全最佳做法是使根保持脱机状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM