Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/11/2015, 08:46
ferdave1904
 
Fecha de Ingreso: febrero-2015
Ubicación: Distrito Federal
Mensajes: 38
Antigüedad: 10 años, 1 mes
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??