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.

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

関連記事。

これの続き。

matsujirushi.hatenablog.jp

Azure IoT CentralのグループX.509を試しました。

続きを読む

Rust on Azure Sphere(プレビュー)

マイクロソフトブログを徘徊していたら、こんな記事を発見。

techcommunity.microsoft.com

ちょっと古い。2022年6月の記事。

冒頭に、「プライベートプレビューでは、Rustベースのアプリ―ションに対応」(As part of a private preview, we are now enabling Rust-based applications to benefit from Azure Sphere’s secure identity, update, and end-to-end encrypted communication services!)とあります。

残りの部分は、いままでC言語だけに対応していたが、どういう考えでRust対応することにしたのかの考え方が書かれています。

  • RAMとFlashを活用できるよう(抑える)、C言語にフォーカス。
  • C++言語の対応はメモリ消費量が多くなるので避け。
  • 他の一般的な言語はJITが必要なので避け。
  • Rustはメモリ消費量を増やすことなくソフトの欠陥を削減できる。

まだプライベートプレビューなので、最終的に正式版(General Availability)となるかは分かりませんが、C言語だと辛いなぁと思っていたので、ぜひともGAしてほしいなぁ。

Azure_IoT_Central_ESP32をSeeed Studio XIAO ESP32C3で動かしてみた(個別SAS)

関連記事。

これの続き。

matsujirushi.hatenablog.jp

Azure IoT CentralのグループSASを試しました。

続きを読む

Azure_IoT_Central_ESP32をSeeed Studio XIAO ESP32C3で動かしてみた(個別X.509)

関連記事。

これの続き。

matsujirushi.hatenablog.jp

Azure_IoT_Central_ESP32がX.509認証にも対応しているっぽいので試しました。

続きを読む

Azure_IoT_Central_ESP32をSeeed Studio XIAO ESP32C3で動かしてみた(グループSAS)

関連記事。

Azure SDK for Embedded Cを、Arduinoライブラリ化してサンプルコードを追加したazure-sdk-for-c-arduinoというGitリポジトリがあります。

github.com

ここに含まれているサンプルコードAzure_IoT_Central_ESP32を試しました。

続きを読む