Sicurezza e crittografia Java
Alcuni sistemi legacy potrebbero essere ancora associati ai protocolli TLSv1 e TLSv1.1 meno recenti. A partire da OpenJDK 11.0.11, queste versioni del protocollo sono disabilitate per impostazione predefinita.
Per riabilitare, gli utenti devono eseguire questi passaggi:
- Nella directory di installazione di JDK passare alla cartella
./conf/security/
- Aprire il file java.security
- Cercare la proprietà di configurazione
jdk.tls.disabledAlgorithms
- Rimuovere gli elementi
TLSv1
e/oTLSv1.1
- Riavviare l'applicazione Java
javax.net.ssl.SSLHandshakeException: avviso irreversibile ricevuto: handshake_failure
Le applicazioni che devono stabilire connessioni sicure (ad esempio HTTPS, SFTP e così via) devono essere eseguite in un runtime Java con un provider di sicurezza compatibile per Java Cryptography Architecture (JCA). Il progetto OpenJDK contiene un provider di implementazione predefinito , JCE (Java Cryptography Extension) in jdk.crypto.ec
.
Se l'applicazione richiede la creazione di connessioni sicure, assicurarsi che il modulo jdk.crypto.ec
sia incluso nel runtime Java assemblato o che sia incluso un provider di terze parti ,ad esempio BouncyCastle.