32 SSLのデバッグ
この章の内容は次のとおりです。
SSLデバッグ・トレースについて
SSLデバッグ・トレースには、信頼性のある認証局、SSLサーバー構成、サーバー・アイデンティティ、SSLハンドシェイク時に渡されたSSLレコードなどに関する情報が示されます。SSLデバッグのスタック・トレースでは、このような情報がログ・ファイルにダンプされます。
SSLデバッグ・トレースには次の情報が表示されます。
-
信頼性のある認証局
-
SSLサーバーの構成情報
-
サーバーのID (秘密キーとデジタル証明書)
-
許可されている暗号化強度
-
有効になっている暗号
-
SSLハンドシェーク中に渡されたSSLレコード
-
WebLogic Serverによって検出されたSSL障害(妥当性と信頼性のチェックや、デフォルトのホスト名検証など)
-
I/O関連の情報
SSLデバッグは、SSLプロセスでALERTが作成されるとスタック・トレースをダンプします。ALERTのタイプと重大度は、Transport Layer Security (TLS)仕様で定義されています。
スタック・トレースは、情報をALERTが発生した場所のログ・ファイルにダンプします。そのため、SSLの問題を追跡する場合は、SSL接続の両側(SSLクライアントとSSLサーバーの両方で)でデバッグを有効にしておく必要があります。ログ・ファイルには、障害が発生した場所に関する詳細な情報が記録されます。ALERTが発生した場所を判別するには、ALERTの後にトレース・メッセージがあるかどうかを確認します。トレース・メッセージの後に受信されたALERTによって、そのピアで障害が発生したことがわかります。問題を判別するには、SSL接続のそのピアでSSLデバッグを有効にしておく必要があります。
SSLの問題を追跡する場合は、ログ・ファイルの情報を調べて次のことを確認します:
-
適切な
config.xml
ファイルがロードされました -
国内向けまたは輸出向けの設定が適切です
-
信頼性のある認証局がこのサーバーに対して有効かつ適切でした
-
ホスト名チェックが成功しました
-
証明書検証が成功しました
ノート:
Sev 1 type 0は、正常なクローズALERTであり、問題ではありません。
SSLデバッグを有効化するためのコマンドライン・プロパティ
コマンドライン・プロパティを使用してJSSEベースのSSL実装内のデバッグ・ロギングおよびWebLogic Server内のSSL呼出しコードのロギングを有効にします。
次のコマンド・ライン・プロパティを使用してSSLデバッグを有効にします。
-Djavax.net.debug=all -Dssl.debug=true -Dweblogic.StdoutDebugEnabled=true
次の点に注意してください。
-
-Djavax.net.debug=all
プロパティを使用すると、JSSEベースのSSL実装内でデバッグ・ロギングを有効化できます。 -
-Dssl.debug=true
および-Dweblogic.StdoutDebugEnabled=true
コマンドライン・プロパティにより、WebLogic Server内でSSL呼出しコードのデバッグ・ロギングが有効になります。
SSLデバッグ・プロパティは、SSLサーバー、SSLクライアント、およびノード・マネージャの起動スクリプトに含めることができます。ノード・マネージャによって起動される管理対象サーバーに対しては、管理対象サーバーの「サーバーの起動」ページでこのコマンド・ライン引数を指定します。
JSSE SSLロギング・システムでのWebLogicロギング・プロパティの使用の詳細は、「JSSE SSLでのデバッグの使用」を参照してください。
JSSEで使用可能なユーティリティのデバッグの詳細情報は、次のURLからダウンロードできるJava (tm) Secure Socket Extension (JSSE)リファレンス・ガイドのユーティリティのデバッグに関する項を参照してください。
http://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#Debug