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 SSLServerSocket ssocket = null;
char[] chPwd = sPassWS.toCharArray();
keyStore.load(is, chPwd);
TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init(keyStore);
SSLContext ctx = SSLContext.getInstance("TLS");
KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
kmf.init(keyStore, chPwd);
ctx.init(kmf.getKeyManagers(), null/*tmf.getTrustManagers()*/, null);
SSLServerSocketFactory ssocketFactory = ctx.getServerSocketFactory();
res = ssocketFactory.createServerSocket();
String[] enabledCipherSuites
= { "SSL_RSA_WITH_RC4_128_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_KRB5_WITH_RC4_128_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_NULL_SHA256",
"TLS_RSA_WITH_AES_128_CBC_SHA256",
};
ssocket = (SSLServerSocket) res;
ssocket.setEnabledCipherSuites(enabledCipherSuites);
ssocket.setReuseAddress(true);
ssocket.bind(sAdress, 100);
ex.printStackTrace();
}
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