Java 7 con TLSv1.2 se conecta al fallo de protocolo de enlace LDAPS
Actualmente estoy usando Java 7 y no puedo conectarme a LDAPS. Intenté con el código a continuación, pero aún no puedo conectarme:
SSLContext ctx = SSLContext.getInstance("TLSv1.2");
ctx.init(null, null, null);
SSLContext.setDefault(ctx);
A continuación se muestra el error que recibo de mi programa:
2018-04-10 15: 21: 23,446 INFO [stdout] (EJB predeterminado - 1) EJB predeterminado - 1, ESCRIBIR: TLSv1.2 Apretón de manos, longitud = 221
2018-04-10 15: 21: 23,446 INFO [stdout] (EJB predeterminado - 1) EJB predeterminado - 1, LECTURA: Alerta TLSv1.2, longitud = 2
2018-04-10 15: 21: 23,446 INFO [stdout] (EJB predeterminado - 1) EJB predeterminado - 1, RECV TLSv1 ALERT: fatal, handshake_failure
2018-04-10 15: 21: 23,446 INFO [stdout] (EJB predeterminado - 1) EJB predeterminado - 1, llamado closeSocket ()
2018-04-10 15: 21: 23,446 INFO [stdout] (EJB predeterminado - 1) EJB predeterminado - 1, manejo de excepción: javax.net.ssl.SSLHandshakeException: Alerta fatal recibida: handshake_failure
Después de eso, intenté ejecutar la Prueba de protocolo para verificar los protocolos compatibles:
Supported Protocols: 5
SSLv2Hello
SSLv3
TLSv1
TLSv1.1
TLSv1.2
Enabled Protocols: 1
TLSv1
He agregado la siguiente línea para deshabilitar TLSv1 y habilitar TLSv1.2 enjava.security
:
jdk.tls.disabledAlgorithms= SSLv3, SSLv2Hello, TLSv1, TLSv1.1
Y ejecute nuevamente la Prueba de protocolo y el resultado es:
Supported Protocols: 5
SSLv2Hello
SSLv3
TLSv1
TLSv1.1
TLSv1.2
Enabled Protocols: 0
He confirmado que mi servidor LDAPS es compatible y usa TLSv1.2. También habilité TLS1.2 en el Panel de control de Java porque cada vez que intentaba usar TLSv1 causabaprotocol_version
error
Mis preguntas son:
Que esRECV TLSv1 ALERT: fatal, handshake_failure
?¿Cómo habilitar TLSv1.2 en protocolos compatibles?Editar ¿Java 7 u 8 admite el conjunto de cifrado:ECDHE-ECDSA-AES256-GCM-SHA384
?Estoy usando Java 1.7_80.