Проблема возникает при создании сертификата с помощью Windows Powershell.
Простой способ - использовать Git bash и сгенерировать сертификат с помощью команд bash на платформе Windows.
Вы можете сделать две вещи здесь:
Выберите сертификат CA в списке регистрации DPS и используйте сертификат корневого CA, который загружен на вкладке «сертификаты» DPS, вместо загрузки промежуточного сертификата 1, подписанного корневым CA.
Добавьте ключи сертификата устройства в смоделированное приложение и запустите его. Это сработало в моем случае. Хотя это не правильный способ сделать это, если есть ситуация с несколькими арендаторами, и вы хотите использовать промежуточный сертификат.
Командный файл powershell генерирует цепочку сертификатов примерно так: RootCA-> Промежуточный 1-> Промежуточный 2-> Промежуточный 3
поэтому промежуточный сертификат 3 подписан промежуточным звеном 2, который подписан промежуточным звеном 1, а затем подписан корневым
Кроме того, все сертификаты устройств подписаны корневым CA (Root CA-> листовой сертификат), следовательно, вы получаете ошибку «промежуточный сертификат не соответствует сертификату подписи».
Вы можете отредактировать файл, перейдя к функции New-CACertsDevice (), в параметре укажите $ signatureCertSubject в качестве имени промежуточного сертификата 1, который будет называться «Azure IoT CA TestOnly Intermediate 1 CA»