Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/08/2015, 11:47
ferdave1904
 
Fecha de Ingreso: febrero-2015
Ubicación: Distrito Federal
Mensajes: 38
Antigüedad: 9 años, 9 meses
Puntos: 1
Pregunta Evitar el soporte para TLS 1.1 en un SSLServerSocket

Que tal Amigos, tengo un SSLServerSocket que soporta SSL y TLS, sólo que con fines de seguridad quiero que deje de soportar TLS1.1 o inferior.
¿Alguna idea de como hacer esto?

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

por cierto todo esto esta dentro de un método que construye el ServerSocket seguro por eso es que termina en return y algunas variables que ven son globales