Центр Интернета вещей Azure: данные сертификата подписи не соответствуют элементам цепочки

Я следил за этим руководством (https://docs.microsoft.com/en-us/azure/iot-dps/tutorial-group-enrollments), где целью является создание группы регистрации в службе подготовки Azure и подключение к ней смоделированного устройства. После создания группы регистрации и сертификатов я застрял на ошибке, связанной с несоответствием сертификатов подписи. Это происходит на шаге 7 части учебного курса «Моделирование устройства».

Изображение, связанное с ошибкой:

https://imgur.com/a/d2gs4h8

Спасибо за помощь!


person 1160716    schedule 22.04.2019    source источник
comment
Вы видели этот другой вопрос с такой же ошибкой? stackoverflow.com/questions/50817794/   -  person Alberto Vega    schedule 22.04.2019


Ответы (1)


Проблема возникает при создании сертификата с помощью Windows Powershell. Простой способ - использовать Git bash и сгенерировать сертификат с помощью команд bash на платформе Windows.

Здесь вы можете сделать две вещи:

  1. Выберите сертификат ЦС в списке регистрации DPS и используйте сертификат корневого ЦС, который загружен на вкладке «сертификаты» DPS, вместо загрузки промежуточного сертификата 1, подписанного корневым ЦС. Добавьте ключи сертификата устройства в смоделированное приложение и запустите его. В моем случае это сработало. Хотя это неправильный способ делать это, если есть ситуация с несколькими арендаторами и вы хотите использовать промежуточный сертификат.

  2. Командный файл powershell генерирует цепочку сертификатов примерно так: RootCA-> промежуточный 1-> промежуточный 2-> промежуточный 3

поэтому промежуточный сертификат 3 подписан промежуточным звеном 2, который подписывается промежуточным звеном 1, а затем он подписывается Root

Также все сертификаты устройств подписаны корневым ЦС (корневой ЦС-> листовой сертификат), поэтому вы получаете сообщение об ошибке «промежуточный сертификат не соответствует сертификату подписи». Вы можете отредактировать файл, перейдите к функции New-CACertsDevice () в параметре и укажите $ signatureCertSubject в качестве имени промежуточного сертификата 1, который будет «Azure IoT CA TestOnly Intermediate 1 CA»

person Yatin Gaikwad    schedule 17.05.2019