Łącząc się ze starszymi urządzeniami, wykorzystującymi do komunikacji aplety Java możemy napotkać problem związany z algorytmami szyfrującymi. Z biegiem lat, niektóre z algorytmów uznano za przestarzałe i zostały wyłączone w domyślnej konfiguracji Javy. Blokada algorytmów może doprowadzić do braku komunikacji.
Problem z komunikacją objawia się najczęściej komunikatem typu „The server selected protocol version TLS10 is not accepted by client preferences”
Aktywacja dodatkowych algorytmów szyfrowania w OpenJDK (Linux)
Konfiguracja algorytmów szyfrowania OpenJDK w systemach Linux dostępna jest w pliku java.security.
W systemie Debian z zainstalowanym OpenJDK w wersji 11 plik konfiguracyjny znajduje się w ścieżce: /etc/java-11-openjdk/security/java.security
Wyłączone algorytmy zostały wymienione się w parametrze jdk.tls.disabledAlgorithms
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves
W celu odblokowania algorytmu, należy usunąć jego nazwę z listy. W przykładzie usunięty został algorytm TLSv1
jdk.tls.disabledAlgorithms=SSLv3, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves
Po aktywacji TLSv1 aplet mógł zadziałać poprawnie.
Aktywacja dodatkowych algorytmów szyfrowania w Java (Windows)
Podobnie jak w OpenJDK należy zmodyfikować plik java.security. W systemie Windows znajduje się on w ścieżce: Ścieżka instalacji JRE\lib\security\java.security
Na przykład: C:\Program Files (x86)\Java\jre1.8.0_291\lib\security\java.security
Parametr podlegający modyfikacji jest taki sam jak w OpenJDK (jdk.tls.disabledAlgorithms)
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves
Dodaj komentarz