問題タブ [mbedtls]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 証明書が正しくないため、Azure IoT Hub との SSL ハンドシェイクが失敗する
私は azure-iot-sdk-c を stm32f767zi ボードに移植しようとしていますが、ある程度の成功を収めています。ただし、プログラムがサーバー mbedtls との SSL ハンドシェイクを試行している時点で、サーバー証明書に対して提供した証明書の検証に失敗しています。ログ行は次のとおりです。
x509_verify_cert() は -9984 (-0x2700) を返しました
これは MBEDTLS_ERR_X509_CERT_VERIFY_FAILED エラーに変換されます
さまざまな証明書 (Baltimore CyberTrust Root、Microsoft IT TLS CA 1、検証のために送信される証明書を使用) を提供しようとしましたが、それらはすべて同じエラーで失敗します。
エラーで失敗する mbedtls ライブラリから、失敗を mbedtls_rsa_rsassa_pkcs1_v15_verify() に絞り込みました。
MBEDTLS_ERR_RSA_INVALID_PADDING
LwIP と mbedtls が正しく機能していると想定しているため、提供している証明書または構成の 1 つが間違っていると信じるしかありませんが、mbedtls/ssl について十分に理解していないため、どの構成/証明書を使用しているかを把握できません。使用する必要があります。
全体的な私の質問は、接続しようとしていた証明書 (ボルチモア サイバートラスト ルート) を使用するのに適切な証明書であるか、mbedtls に設定していない明白な設定があるかということです。
c - このメソッドの文字列をフォーマットする方法は?
この方法を機能させるのに問題があります。psk で mbedtls を使用しようとしています。彼らが持っている例は、私のような C 初心者にとって非常に理解しにくいことがわかりました。
このメソッドを機能させるために期待される文字列の書式は何ですか? 現在、私は持っています
char * list = "JD,4f07d80fde6469fbdbf1f154a47f27c916dba68b644ff1ffa26295e598855810";
これはメソッドに渡されますが、*end = ','
追加しようとするとセグメンテーション違反が発生し続けます。
c - MBEDTLS のエラー検索機能はありますか?
現在、プロジェクトに mbedtls を使用しています。エラーコードを受け取って何らかのエラーメッセージを返すエラールックアップ関数があるかどうかを知りたいですか?