Documentation

§SSL 接続のデバッグ

HTTPS 接続がうまくいかない場合、JSSE のデバッグは面倒になりがちです。

WS SSL は デバッグ・ユーティリティセキュリティのトラブルシューティング で定義された JSSE デバッグオプションを有効にする設定オプションを提供しています。

設定するには、application.confplay.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 チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。