TLS 1.3 jako domyślny
TLS 1.3 jest domyślnie włączony — nie potrzeba jawnej konfiguracji protokołu.
Porównanie kodu
✕ 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
Widzisz problem z tym kodem? Daj nam znać.
Dlaczego nowoczesne podejście wygrywa
Bezpieczniejszy
TLS 1.3 usuwa przestarzałe zestawy szyfrów i wzorce uzgadniania.
Szybsze uzgadnianie
TLS 1.3 kończy się w jednej rundzie zamiast dwóch.
Zero konfiguracji
Bezpieczny domyślnie — nie potrzeba jawnego wyboru protokołu.
Stare podejście
Ręczna konfiguracja TLS
Nowoczesne podejście
Domyślny TLS 1.3
Od JDK
11
Poziom trudności
Średniozaawansowany
Wsparcie JDK
TLS 1.3 jako domyślny
Dostępne
Szeroko dostępne od JDK 11 (wrzesień 2018)
Jak to działa
Java 11 dodała obsługę TLS 1.3 i uczyniła go preferowanym protokołem. HttpClient używa go automatycznie. Koniec z ręcznym podawaniem wersji protokołu dla bezpiecznych połączeń.
Powiązana dokumentacja
Dowód