wolfTips: トラブルシューティング

繋がらない!最初にやることは:

準備万端、いざ接続…あれ、繋がらない!準備していても、少しの誤設定で問題は発生してしまいます。また組み込みという環境の性質上、問題発生時のデバック情報が少なく、解析に時間を要してしまうことがあります。
サポートに依頼しよう!そんな時、最初に思い出して頂きたい wolfSSLライブラリの必須デバックオプション、”–enable-debug” を紹介します。

使用方法は、”–enable-debug” オプションを指定し wolfSSL ライブラリをビルドします。
 $./configure --enable-debug
マクロ定義を使用する際は、DEBUG_WOLFSSL をヘッダーファイル(user_settings.h)に定義します。

あとはアプリケーション・プログラムの開始時に
 wolfSSL_Debugging_ON();
を呼び出します。

このオプションは、wolfSSL ライブラリのデバックメッセージ機能をオンにし、内部処理のトレースをデバックコンソールに出力します。得られたログをサポートへ送付頂くことで、処理の追跡が可能となりエラー解析の質が格段に向上します。

example/client/client を使用した際の出力例です。
初期のテスト構成はこちらを参照:wolfTips: 最初の対向テスト

ログをよく見ると
 wolfSSL Entering xxxx_yyy

 wolfSSL Leaving xxxx_yyy
というメッセージが見うけられます。これは xxxx_yyy という関数に入った(Entering)、そして処理終了後、離れた(Leaving)ということを示しています。
この例では、クライアントが間違ったCA証明書を使用しサーバ認証に失敗していました。正しい証明書を使用することでエラーを回避出来ました。

実際のエラーケースは、単純な場合から複数の要素が絡み合うものまで千差万別です。ちょっとした設定ミスでも、解析の方向を間違うと解決まで時間を要してしまうことがあります。今回紹介したデバックオプションで取得したログはデバックの方向を絞り込む上でとても有効です。
サポートへ現象とともにデバックログを送って頂くだけで問題解決はぐっと近くなります。デバックでお困りのことがあればお気軽にsupport@wolfssl.com までお知らせください。