Zabezpieczenia i kryptografia języka Java
Niektóre starsze systemy mogą być nadal powiązane ze starszymi, niezabezpieczonymi protokołami TLSv1 i TLSv1.1. Począwszy od zestawu OpenJDK 11.0.11, te wersje protokołu są domyślnie wyłączone.
Aby ponownie włączyć tę funkcję, użytkownicy muszą wykonać następujące kroki:
- W katalogu instalacyjnym zestawu JDK przejdź do folderu
./conf/security/
- Otwórz plik java.security
- Wyszukiwanie właściwości konfiguracji
jdk.tls.disabledAlgorithms
- Usuń elementy
TLSv1
i/lubTLSv1.1
- Ponowne uruchamianie aplikacji Java
javax.net.ssl.SSLHandshakeException: Odebrano alert krytyczny: handshake_failure
Aplikacje, które muszą nawiązywać bezpieczne połączenia (np. HTTPS, SFTP itp.), muszą być uruchamiane w środowisku uruchomieniowym Języka Java z zgodnym dostawcą zabezpieczeń dla architektury kryptograficznej Java (JCA). Projekt OpenJDK zawiera domyślnego dostawcę implementacji — rozszerzenie kryptografii Java (JCE) — w pliku jdk.crypto.ec
.
Jeśli aplikacja wymaga ustanowienia bezpiecznych połączeń, upewnij się, że moduł jdk.crypto.ec
jest dołączony do zmontowanego środowiska uruchomieniowego Java lub że dołączono dostawcę innej firmy (np. BouncyCastle).