Foros del Web » Programación para mayores de 30 ;) » Java »

TLS 1.2 en Java 1.4 ¿Es posible?

Estas en el tema de TLS 1.2 en Java 1.4 ¿Es posible? en el foro de Java en Foros del Web. Que tal javeros, tengo un problema al crear un socket seguro. Normalmente en las versiones de java que suelo usar no tengo ningún problema con ...
  #1 (permalink)  
Antiguo 09/11/2015, 08:46
 
Fecha de Ingreso: febrero-2015
Ubicación: Distrito Federal
Mensajes: 38
Antigüedad: 9 años, 2 meses
Puntos: 1
TLS 1.2 en Java 1.4 ¿Es posible?

Que tal javeros, tengo un problema al crear un socket seguro. Normalmente en las versiones de java que suelo usar no tengo ningún problema con mi código al implementarlo, sin embargo por cuestiones que me rebasan me veo obligado a utilizar jdk 1.4 y al crear mi socket seguro que soporte TLS 1.2 me lanza la siguiente excepción.

java.lang.IllegalArgumentException: Unsupported ciphersuite TLS_DHE_DSS_WITH_AES_128_CBC_SHA256

Mi código es el siguiente:

Código Java:
Ver original
  1. private SSLServerSocket buildSecureServerSocket(SocketAddress sAdress) {
  2.  
  3.         SSLServerSocket res = null;
  4.         try (InputStream is = new FileInputStream(sslCertificatePath)) {
  5.             char[] chPwd = sPassWordStore.toCharArray();
  6.             KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
  7.             keyStore.load(is, chPwd);
  8.  
  9.             TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
  10.             tmf.init(keyStore);
  11.             SSLContext ctx = SSLContext.getInstance("TLS");
  12.  
  13.             KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
  14.             kmf.init(keyStore, chPwd);
  15.             ctx.init(kmf.getKeyManagers(), null/*tmf.getTrustManagers()*/, null);
  16.  
  17.             SSLServerSocketFactory ssocketFactory = ctx.getServerSocketFactory();            
  18.  
  19.             res = (SSLServerSocket) ssocketFactory.createServerSocket();
  20.            
  21.             String[] enabledCipherSuites = {
  22.                         "SSL_RSA_WITH_RC4_128_SHA",
  23.                         "TLS_DHE_DSS_WITH_AES_128_CBC_SHA",                    
  24.                         "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",                    
  25.                         "TLS_KRB5_WITH_RC4_128_SHA",
  26.                         "TLS_RSA_WITH_AES_128_CBC_SHA",
  27.                         "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256",
  28.                         "TLS_RSA_WITH_NULL_SHA256",
  29.                         "TLS_RSA_WITH_AES_128_CBC_SHA256",
  30.                         };
  31.                        
  32.             res.setEnabledCipherSuites(enabledCipherSuites);
  33.  
  34.             res.setReuseAddress(true);
  35.             res.bind(sAdress, 100);
  36.         } catch (Throwable ex) {
  37.             ex.printStackTrace();
  38.         }
  39.         return res;
  40.     }

¿¿Alguna idea de como hacer que mi socket soporte TLS 1.2 en java 1.4??
  #2 (permalink)  
Antiguo 09/11/2015, 09:23
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: TLS 1.2 en Java 1.4 ¿Es posible?

Buenas,

Si no me equivoco, ese cifrado es fuerte para la epoca de java 1.4, por lo que esa distribucion de Java no lo acepta.

Para evitarlo bastaria con que te instales:
http://www.oracle.com/technetwork/ja...d-2133166.html


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 09/11/2015, 11:54
 
Fecha de Ingreso: febrero-2015
Ubicación: Distrito Federal
Mensajes: 38
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: TLS 1.2 en Java 1.4 ¿Es posible?

Hola que tal, gracias por la respuesta.

Sin embargo después de instalar el JCE remplazando los que ha había por los del link que me dejaste aún sigo teniendo el mismo problema. ¿Habrá que hacer algo adicional?
Los instalé en mi java_home que es:
C:\j2sdk1.4.2_19\jre\lib\security
¿Alguna sugerencia?

Saludos!!
Cita:
Iniciado por Profesor_Falken Ver Mensaje
Buenas,

Si no me equivoco, ese cifrado es fuerte para la epoca de java 1.4, por lo que esa distribucion de Java no lo acepta.

Para evitarlo bastaria con que te instales:
[url]http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html[/url]


Un saludo
  #4 (permalink)  
Antiguo 09/11/2015, 11:55
 
Fecha de Ingreso: febrero-2015
Ubicación: Distrito Federal
Mensajes: 38
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: TLS 1.2 en Java 1.4 ¿Es posible?

Hola que tal, gracias por la respuesta.

Sin embargo después de instalar el JCE remplazando los que ha había por los del link que me dejaste aún sigo teniendo el mismo problema. ¿Habrá que hacer algo adicional?
Los instalé en mi java_home que es:
C:\j2sdk1.4.2_19\jre\lib\security
¿Alguna sugerencia?

Saludos!!
Cita:
Iniciado por Profesor_Falken Ver Mensaje
Buenas,

Si no me equivoco, ese cifrado es fuerte para la epoca de java 1.4, por lo que esa distribucion de Java no lo acepta.

Para evitarlo bastaria con que te instales:
[url]http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html[/url]


Un saludo
  #5 (permalink)  
Antiguo 10/11/2015, 01:37
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: TLS 1.2 en Java 1.4 ¿Es posible?

Buenas,

Efectivamente es en C:\j2sdk1.4.2_19\jre\lib\security donde debe instalar.

Estas seguro de que tu aplicacion se esta lanzando con ese JRE?
Te da exactamente el mismo error?

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #6 (permalink)  
Antiguo 10/11/2015, 08:40
 
Fecha de Ingreso: febrero-2015
Ubicación: Distrito Federal
Mensajes: 38
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: TLS 1.2 en Java 1.4 ¿Es posible?

Así es ya lo revisé y si esta usando ese jre incluso durante el deploy de mi aplicación imprimí System.getProperty("java.home") para estar bien seguro. ¿Será que no es posible usar ese cihpersuite en jdk 1.4?
Ahora mismo estoy probando agregar el Provider de BouncyCastle.
¿Habrá alguna otra opción?

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Buenas,

Efectivamente es en C:\j2sdk1.4.2_19\jre\lib\security donde debe instalar.

Estas seguro de que tu aplicacion se esta lanzando con ese JRE?
Te da exactamente el mismo error?

Un saludo

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:12.