У меня есть очередь о правильных сертификатах конфигурации в IoT Hub Auzre. Я хочу использовать Device Provisioning Service с регистрацией в группах. Моя цель - реализовать следующий сценарий: использовать корневой сертификат CA для создания некоторого промежуточного сертификата, а затем использовать этот промежуточный сертификат для подписи сертификата устройства. Итак, после прочтения документации я понимаю следующие шаги:
- Загрузка корневого сертификата CA:
- Загрузка промежуточного сертификата в конфигурации регистрации группы:
- Использование сертификата устройства в коде Java для предоставления.
И это работает только тогда, когда я передаю свой промежуточный сертификат в коде устройства (независимо от того, выбираю ли я CA или промежуточный сертификат на шаге 2):
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. Какова цель использования промежуточного сертификата в коде устройства? Не следует ли проверить его на основе цепочки промежуточных и корневых сертификатов CA, загруженных в Azure на предыдущих этапах?