Tls 1.2 en jdk 1.4 ¿Es posible?

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:

private SSLServerSocket buildSecureServerSocket(SocketAddress sAdress) {
        SSLServerSocket res = null;
        try (InputStream is = new FileInputStream(sslCertificatePath)) {
            char[] chPwd = sPassWordStore.toCharArray();
            KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
            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 = (SSLServerSocket) 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_DHE_DSS_WITH_AES_128_CBC_SHA256",
                        "TLS_RSA_WITH_NULL_SHA256",
                        "TLS_RSA_WITH_AES_128_CBC_SHA256",
                        };
            res.setEnabledCipherSuites(enabledCipherSuites);
            res.setReuseAddress(true);
            res.bind(sAdress, 100);
        } catch (Throwable ex) {
            ex.printStackTrace();
        }
        return res;
    }

¿Alguna idea de como hacer que mi socket soporte TLS 1.2 en java 1.4?

Añade tu respuesta

Haz clic para o