Quale algoritmo dovrei usare per evitare l'errore "ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY"?

1

Ho ricevuto un certificato CA presentando il mio CSR da GoDaddy, dopo aver applicato un certificato al mio server Web Tomcat. Quando accedo al mio sito web utilizzando Chrome o Mozilla, ho riscontrato l'errore:

ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY

Ho richiamato il seguente comando per il processo di generazione della CSR:

 keytool -genkey -alias mydomain -keyalg RSA -keystore mydomain.jks -keysize 2048 -sigalg SHA256withRSA
 keytool -certreq -alias mydomain -sigalg SHA256withRSA -keystore mydomain.jks -file mydomain.csr

Come posso risolvere questo?

    
posta Muhammad 17.09.2015 - 07:10
fonte

2 risposte

2

Questo avvertimento è causato dalla dimensione del gruppo utilizzato per lo scambio temporaneo di Diffie Hellman effimero troppo piccolo. Così piccolo che le chiavi simmetriche possono essere estratte dagli accademici.

Il certificato non influisce sulla dimensione del gruppo utilizzato per DHE. La configurazione del server web fa.

Attualmente la raccomandazione è che la dimensione del gruppo in bit dovrebbe essere grande quanto la chiave RSA per il certificato, in genere 2048 bit e in ogni caso non inferiore a 1024 bit. Inoltre, è necessario generare il proprio gruppo, non utilizzare uno predefinito, oppure 1024 bit non è sufficiente.

Assicurati che il tuo server non supporti la crittografia "export" intenzionalmente debole, ovvero 512 bit.

Utilizza lo strumento Qualys per verificare la configurazione del server.

documenti Java .

    
risposta data 17.09.2015 - 07:28
fonte
2

La soluzione più semplice è aggiornare la tua versione Java a Java 8 poiché Java 7 ha raggiunto il suo EOL (fine vita) nell'aprile 2015.
Inoltre, se non funziona e si dispone di JDK 1.8, si consiglia di impostare la proprietà di sistema -Djdk.tls.ephemeralDHKeySize=2048 per garantire una chiave più strong nell'handshake. Consulta i documenti Java 8

Modifica Ecco un elenco dei potenti codici che potresti avere bisogno nel tuo server.xml Tomcat all'interno dei tuoi connettori HTTPS:

ciphers= " TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA "

Modifica 2

Controlla la tua variabile di percorso JAVA_HOME , potrebbe puntare a una versione precedente di java i.e. minore di jdk 1.7

Stavo affrontando lo stesso problema del mio JAVA_HOME che puntava a jdk1.6, quindi correggere JAVA_HOME ha risolto questo

    
risposta data 17.09.2015 - 08:28
fonte

Leggi altre domande sui tag