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 завершается за один обмен вместо двух.

🆓

Без конфигурации

Безопасен по умолчанию — явный выбор протокола не требуется.

Старый подход
Ручная настройка TLS
Современный подход
TLS 1.3 по умолчанию
Начиная с JDK
11
Сложность
Средний
TLS 1.3 по умолчанию
Доступно

Широко доступно с JDK 11 (сент. 2018)

Java 11 добавила поддержку TLS 1.3 и сделала его предпочтительным протоколом. HttpClient использует его автоматически. Больше не нужно вручную указывать версии протокола для защищённых соединений.