Cómo deshabilitar los conjuntos de cifrado débiles en el servidor de aplicaciones java para ssl

2

Tengo un servidor de aplicaciones Java personalizado en ejecución. Estoy viendo que hay algunas suites de cifrado débiles soportadas por el servidor, por ejemplo, algunos cifrados de 112 bits. Quiero desactivar esos. ¿Dónde puedo hacer eso? Además, quiero habilitar TLSv1.2. El siguiente es el código para inicializar el socket:

    KeyStore ks = KeyStore.getInstance("JKS");
    ks.load(new FileInputStream(sslstore), sslstorepass.toCharArray());
    KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
    kmf.init(ks, sslcertpass.toCharArray());

    SSLContext sc = SSLContext.getInstance("TLS");
    sc.init(kmf.getKeyManagers(), null, new SecureRandom());
    SSLServerSocketFactory ssf = sc.getServerSocketFactory();
    serverSocket = ssf.createServerSocket(port);

    System.out.println("Socket initialized");
    
pregunta jgm 13.04.2016 - 14:16
fuente

1 respuesta

2

JAVA permite que las suites de cifrado se eliminen / excluyan del uso en el archivo de política de seguridad llamado java.security que se encuentra en su JRE: $PATH/[JRE]/lib/security El La propiedad jdk.tls.disabledAlgorithms en el archivo de políticas controla la selección de cifrado TLS. El jdk.certpath.disabledAlgorithms controla los algoritmos con los que se encontrará en los certificados SSL. Oracle tiene más información sobre este aquí .

En el archivo de política de seguridad, si ingresó lo siguiente: jdk.tls.disabledAlgorithms=MD5, SHA1, DSA, RSA keySize < 4096 Lo lograría, por lo que nunca se permiten MD5, SHA1, DSA, y RSA solo se permite si la clave es Al menos 4096 bits. En cuanto a forzar versiones TLS, esto depende de su sistema operativo (Linux, Solaris, Windows, BSD, etc.), servidor (Apache, IIS, otro)

    
respondido por el munkeyoto 13.04.2016 - 14:38
fuente

Lea otras preguntas en las etiquetas