ところが正しい証明書を格納し設定しているにもかかわらず以下のような認証エラーが表示されることがあります。
ERROR: iot_tls_connect L#232 failed
! mbedtls_ssl_handshake returned -0x2700
ERROR: iot_tls_connect L#239 Unable to verify the server's certificate. Either it is invalid,
or you didn't set ca_file or ca_path to an appropriate value.
Alternatively, you may want to use auth_mode=optional for testing purposes.
新しい証明書を試してみたりAWS IoTの”モノ”を新しく作成してみたり、様々な方法を試してみても解決できなくて悩んでいませんか。
そんなときは意外なところに原因があるかもしれません。
デバイス機器のタイムスタンプに問題がないか確認してみましょう。
デバイス機器のタイムスタンプが証明書有効期限外になっていると接続に失敗する
新規購入した機器は初期設定のままタイムスタンプが1970年となっていることがあります。
証明書には有効期限が設定されていますので、1970年だと期限外と判断され認証エラーになってしまいます。
デバイスのタイムスタンプを現在日付に設定、もしくはNTPサーバによる同期設定を行いましょう。
その後AWS IoTへ接続すると成功するはずです。
AWS IoTへの認証エラーでお困りの方はぜひ試してみてください。
コメント