Security 中級

TLS 1.3はデフォルトで有効なため、プロトコルの明示的な設定は不要。

✕ Java 8
SSLContext ctx =
    SSLContext.getInstance("TLSv1.2");
ctx.init(null, trustManagers, null);
SSLSocketFactory factory =
    ctx.getSocketFactory();
// Must specify protocol version
✓ Java 11+
// TLS 1.3 is the default!
var client = HttpClient.newBuilder()
    .sslContext(SSLContext.getDefault())
    .build();
// Already using TLS 1.3
このコードに問題がありますか? お知らせください。
🛡️

より安全

TLS 1.3は廃止された暗号スイートとハンドシェイクパターンを排除しています。

高速なハンドシェイク

TLS 1.3は2ラウンドトリップではなく1ラウンドトリップで完了します。

🆓

ゼロ設定

デフォルトでセキュア——プロトコルを明示的に選択する必要がありません。

旧来のアプローチ
手動のTLS設定
モダンなアプローチ
TLS 1.3デフォルト
JDKバージョン
11
難易度
中級
TLS 1.3がデフォルト
利用可能

JDK 11(2018年9月)以降、広く利用可能

Java 11でTLS 1.3サポートが追加され、優先プロトコルとなりました。HttpClientは自動的にTLS 1.3を使用します。セキュアな接続にプロトコルバージョンを手動で指定する必要はもうありません。

共有 𝕏 🦋 in