Sicurezza e crittografia Java

Riabilitare TLSv1 e TLSv1.1

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:

  1. Nella directory di installazione di JDK passare alla cartella ./conf/security/
  2. Aprire il file java.security
  3. Cercare la proprietà di configurazione jdk.tls.disabledAlgorithms
  4. Rimuovere gli elementi TLSv1 e/o TLSv1.1
  5. Riavviare l'applicazione Java

Provider JCE per JCA e Crypto

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.