§SSL 接続のデバッグ
HTTPS 接続がうまくいかない場合、JSSE のデバッグは面倒になりがちです。
WS SSL は デバッグ・ユーティリティ と セキュリティのトラブルシューティング で定義された JSSE デバッグオプションを有効にする設定オプションを提供しています。
設定するには、application.conf
に play.ws.ssl.debug
プロパティをセットします:
play.ws.ssl.debug = {
# Turn on all debugging
all = false
# Turn on ssl debugging
ssl = false
# Turn certpath debugging on
certpath = false
# Turn ocsp debugging on
ocsp = false
# Enable per-record tracing
record = false
# hex dump of record plaintext, requires record to be true
plaintext = false
# print raw SSL/TLS packets, requires record to be true
packet = false
# Print each handshake message
handshake = false
# Print hex dump of each handshake message, requires handshake to be true
data = false
# Enable verbose handshake message printing, requires handshake to be true
verbose = false
# Print key generation data
keygen = false
# Print session activity
session = false
# Print default SSL initialization
defaultctx = false
# Print SSLContext tracing
sslctx = false
# Print session cache tracing
sessioncache = false
# Print key manager tracing
keymanager = false
# Print trust manager tracing
trustmanager = false
# Turn pluggability debugging on
pluggability = false
}
注意: この機能は JVM 上においてグローバルな
java.net.debug
システムプロパティの設定を変更します。加えて、この機能は開発環境で使用されることのみを想定しており、ランタイムの静的なプロパティを変更 します。
§冗長なデバッグ
SLF4J をデバッグ出力するよう設定して WS の振る舞いを確認することができます:
logger.play.api.libs.ws.ssl=DEBUG
§動的なデバッグ
動的に生成された WSClient のインスタンスを使って作業している場合、ビルダーパターンを使う SSLDebugConfig
クラスを使ってデバッグ設定を行うことができます:
val debugConfig = SSLDebugConfig().withKeyManager().withHandshake(data = true, verbose = true)
§参考文献
Oracle には JSSE のデバッグ問題に関するドキュメントが数多くあります:
Next: ゆるいオプション
このドキュメントの翻訳は Play チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。