Azure_IoT_Central_ESP32をSeeed Studio XIAO ESP32C3で動かしてみた(グループX.509 その2)

関連記事。

これの続き。

matsujirushi.hatenablog.jp

バイスから送信する証明書とAzure IoT CentralのグループX.509に登録した証明書が、どういう組み合わせだと認証通るのかを確認しました。

X.509認証通る組み合わせ

総当たりで試した結果がこちら。

バイスから送信する証明書 Azure IoT CentralのグループX.509に登録する証明書 通信結果
バイス 中間CA Good
バイス 中間CA+ルートCA Good
バイス ルートCA Error
バイス+中間CA ルートCA Good

つまり、デバイスから送信する証明書のSignerがAzure IoT Centralに登録されていればOKでした。
バイス - ルートCAでErrorなのは、デバイス証明書のSingerである中間CAの証明書がAzure IoT Centralに無いからです。

X.509認証エラー

備忘として、X.509認証エラー時のログを貼っておきます。

1970/1/1 00:00:11 [INFO] WiFi connected, IP address: 192.168.1.108
1970/1/1 00:00:11 [INFO] Setting time using SNTP
..
2022/10/20 11:53:01 [INFO] Time initialized!
2022/10/20 11:53:01 [INFO] Azure IoT client initialized (state=2)
2022/10/20 11:53:01 [INFO] MQTT client using X509 Certificate authentication
2022/10/20 11:53:01 [INFO] MQTT client target uri set to 'mqtts://global.azure-devices-provisioning.net'
2022/10/20 11:53:01 [INFO] MQTT client connecting.
2022/10/20 11:53:09 [INFO] MQTT client connected (session_present=0).
2022/10/20 11:53:09 [INFO] MQTT client subscribing to '$dps/registrations/res/#'
2022/10/20 11:53:09 [INFO] MQTT topic subscribed (message id=46498).
2022/10/20 11:53:09 [INFO] MQTT client publishing to '$dps/registrations/PUT/iotdps-register/?$rid=1'
2022/10/20 11:53:09 [INFO] MQTT message received.
2022/10/20 11:53:09 [ERROR] Device provisisioning failed.
E (20454) MQTT_CLIENT: mqtt_message_receive: transport_read() error: errno=128
2022/10/20 11:53:09 [ERROR] MQTT client in ERROR state.
2022/10/20 11:53:09 [ERROR] esp_tls_stack_err=0; esp_tls_cert_verify_flags=0;esp_transport_sock_errno=0;error_type=1;connect_return_code=0
2022/10/20 11:53:09 [ERROR] connect_return_code=MQTT_CONNECTION_ACCEPTED
E (20455) MQTT_CLIENT: mqtt_process_receive: mqtt_message_receive() returned -1
2022/10/20 11:53:09 [INFO] MQTT client disconnected.
2022/10/20 11:53:24 [INFO] MQTT client connecting.