SIM7020 > Подключение к Azure IoT > Проверка подлинности с помощью самозаверяющего сертификата

Я пытаюсь установить соединение с устройством Azure IoT Hub с помощью SIM7020E (редакция: 1752B17SIM7020E) с частичным успехом. Для отправки аутентификации SAS с помощью AT+CTLSSEND и AT+CHTTPSEND работает нормально, но когда используется аутентификация Individual Enrollment > Certificates (X.509), ни один из подходов TLS, CHHTP, MQTT не работает (подход MQTT не работает для токена SAS). также).

Я мог успешно отправлять телеметрию через инструменты MQTTBox, mosquitto_pub, postman с рабочего стола для методов аутентификации SAS и сертификата. Вот мне и интересно, знает ли кто-нибудь, что может быть не так? Вот лог для MQTT:

      AT+CSETCA=0,1244,1,0,"<IoTHubRootCA_Baltimore.pem part1>"
OK

AT+CSETCA=0,1244,0,0,"<IoTHubRootCA_Baltimore.pem part2>"
OK

AT+CSETCA=1,1332,1,0,"<Device Primary.crt part1>"
OK

AT+CSETCA=1,1332,0,0,"<Device Primary.crt part2>"
OK

AT+CSETCA=2,1656,1,0,"<Device Primary.pem part1>"
OK

AT+CSETCA=2,1656,0,0,"<Device Primary.pem part2>"
OK

AT+CMQTTSNEW="<iothub>.azure-devices.net","8883",60000,1132
ERROR

Журнал для HTTP:

      AT+CHTTPCREATEEXT=1,8185,1301,"https://<iothub>.azure-devices.net,,,2520,<IoTHubRootCA_Baltimore.pem part1 in HEX>"
OK

AT+CHTTPCREATEEXT=1,8185,1294,"<IoTHubRootCA_Baltimore.pem part2 in HEX>"
OK

AT+CHTTPCREATEEXT=1,8185,1140,",2238,<Device Primary.crt part1 in HEX>"
OK

AT+CHTTPCREATEEXT=1,8185,1104,"<Device Primary.crt part2 in HEX>"
OK

AT+CHTTPCREATEEXT=1,8185,1148,",3340,<Device Primary.pem part1 in HEX>"
OK

AT+CHTTPCREATEEXT=1,8185,1078,"<Device Primary.pem part2 in HEX>"
OK

AT+CHTTPCREATEEXT=0,8185,1120,"<Device Primary.pem part3 in HEX>"
OK

AT+CHTTPCON=0
+CHTTPCREATEEXT: 0
OK

AT+CHTTPSEND=0,0,"/devices/<deviceId>/modules?api-version=2021-04-12"
OK
+CHTTPERR: 0,-1

AT+CHTTPDISCON=0
OK

AT+CHTTPDESTROY=0
OK

И лог для TLS:

      AT+CTLSCFG=1,1,"<iothub>.azure-devices.net",2,443,3,0,4,2,5,4
OK

AT+CTLSCFG=1,6,1320,1,"<IoTHubRootCA_Baltimore.pem part1>"
OK

AT+CTLSCFG=1,6,1320,0,"<IoTHubRootCA_Baltimore.pem part2>"
OK

AT+CTLSCFG=1,7,1164,1,"<Device Primary.crt part1>"
OK

AT+CTLSCFG=1,7,1164,0,"<Device Primary.crt part2>"
OK

AT+CTLSCFG=1,8,1736,1,"<Device Primary.pem part1>"
OK

AT+CTLSCFG=1,8,1736,1,"<Device Primary.pem part2>"
OK

AT+CTLSCFG=1,8,1736,0,"<Device Primary.pem part3>"
OK

AT+CTLSCONN=1,1
OK
+CTLSCONN: 1,1

AT+CTLSSEND=1,208,"GET https://<iothub>.azure-devices.net/devices/<deviceId>/modules?api-version=2021-04-12 HTTP/1.1\r\nHost: <iothub>.azure-devices.net\r\n\r\n"
OK
+CTLSSEND: 1,202

AT+CTLSRECV=1,1000,801
OK
+CTLSRECV: 1, -30464

AT+CTLSCLOSE=1
OK
+CTLSCLOSE: 1,1

Наиболее информативным является подход TLS, который возвращает +CTLSRECV: 1, -30464, что, как я предполагаю, означает «что-то не так с сертификатом», но сертификат действителен и работает для настольных компьютеров.

0 ответов

Другие вопросы по тегам