No se pueden establecer conexiones entre clientes en JRE1.8 y servidores en JRE1.7 [cerrado]

-1

tenemos una aplicación cliente compilada con JDK1.8, y una aplicación de servidor externo se ejecuta con JRE1.7 o versiones anteriores. No sabemos la versión JRE exacta del lado del servidor. El problema aquí es que no podemos establecer conexiones seguras entre ellos. Sabemos que Java 1.8 habilita TLS1.2 de forma predeterminada, y según los RFC y blogs de Oracle correspondientes, TLS1.2 es compatible con TLS1.1 y TLS1.0. Por lo tanto, incluso si el lado del servidor usa TLS1.1 o 1.0, debería funcionar como se espera. No sabemos por qué. El mensaje de error dice algo así como "causado por la falta de certificados o el conjunto de cifrado no admitido". También utilizamos SSLab para analizar el lado del servidor, y obtuvimos algo como "conjunto de cifrado no admitido o falta de coincidencia". Muy confuso porque si compilamos el lado del cliente con java1.7, funciona bien. ¿Algunas ideas? Gracias

    
pregunta Hittlle Li 14.04.2015 - 03:41
fuente

1 respuesta

2

Primero, habilite la depuración de SSL en el cliente configurando la propiedad del sistema javax.net.debug desde la línea de comandos (-Djavax.net.debug = all) o en tiempo de ejecución. Stdout tendrá un registro bastante detallado de las conexiones SSL, siempre y cuando esté utilizando la compilación en el proveedor SSL. Más detalles en: enlace

Segundo, verifique si este error se aplica a usted: enlace

En tercer lugar, asegúrese de que el servidor no esté ejecutando SSL 3.0, ya que es vulnerable y la versión 1.8u31 y posterior ya no es compatible de forma predeterminada. Más información sobre esto en: enlace

    
respondido por el barbazoo 14.04.2015 - 04:47
fuente

Lea otras preguntas en las etiquetas