¿Qué algoritmo debo usar para evitar el error "ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY"?

1

Obtuve un certificado de CA al enviar mi CSR de GoDaddy, después de aplicar un certificado a mi servidor web Tomcat. Cuando accedo a mi sitio web utilizando Chrome o Mozilla, me encuentro con el error:

  

ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY

He invocado el siguiente comando para el proceso de generación de 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

¿Cómo puedo resolver esto?

    
pregunta Muhammad 17.09.2015 - 07:10
fuente

2 respuestas

2

Esa advertencia se debe a que el tamaño del grupo utilizado para el intercambio de claves efímero Diffie Hellman es demasiado pequeño. Tan pequeño que las claves simétricas pueden ser extraídas por académicos.

El certificado no afecta el tamaño del grupo utilizado para DHE. La configuración del servidor web lo hace.

Actualmente, la recomendación es que el tamaño del grupo en bits debe ser tan grande como la clave RSA para el certificado, generalmente de 2048 bits y, en cualquier caso, no menor de 1024 bits. Además, debe generar su propio grupo, no usar uno predefinido, de lo contrario, 1024 bits no es suficiente.

Asegúrese de que su servidor no admita criptografía de "exportación" intencionalmente débil; eso significa 512 bits.

Utilice herramienta de Qualys para verificar la configuración del servidor.

Documentos de Java .

    
respondido por el Z.T. 17.09.2015 - 07:28
fuente
2

La solución más sencilla es actualizar su versión de Java a Java 8 ya que Java 7 ha alcanzado su EOL (final de vida) en abril de 2015.
Además, si no funciona y tiene JDK 1.8, se recomienda configurar la propiedad del sistema -Djdk.tls.ephemeralDHKeySize=2048 para garantizar un tamaño de clave más fuerte en el protocolo de enlace. Consulte la documentos de Java 8

Editar Aquí hay una lista de los cifrados fuertes que puede necesitar en su Tomcat server.xml dentro de sus conectores HTTPS:

  

cifras="   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   "

Editar 2

Verifique su variable de ruta JAVA_HOME , puede estar apuntando a una versión anterior de java, es decir, menos que jdk 1.7

Estaba enfrentando el mismo problema que mi JAVA_HOME apuntaba a jdk1.6, por lo que corregir el JAVA_HOME solucionó esto

    
respondido por el Mohsin Khan 17.09.2015 - 08:28
fuente

Lea otras preguntas en las etiquetas