0
votes

When I used the SSL protocol for transferring data via FTP everything worked. I am currently using TLS with a specific cipher. As I found out, java 8 ignores some ciphers. And then I added the ciphers to the code

@Override
protected void _prepareDataSocket_(final Socket socket) throws IOException {
    if(socket instanceof SSLSocket) {
        String[] ciphers = {
                "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
                "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
                "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
                "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
        };
        ((SSLSocket) socket).setEnabledCipherSuites(ciphers);
        final SSLSession session = ((SSLSocket) _socket_).getSession();
        final SSLSessionContext context = session.getSessionContext();

But now in debug mode an error is displayed as before, it ignores ciphers. Also added an error:

Cipher Suites: [Unknown 0x2a:0x2a, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, Unknown 0xcc:0xa9, Unknown 0xcc:0xa8, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA] Compression Methods:  { 0 } Unsupported extension type_23130, data: Extension renegotiation_info, renegotiated_connection: <empty>

Please tell me how to correctly add ciphers to a socket so that ciphers are no longer ignored. I use javax.net.ssl

1

1 Answers

0
votes

Quite sure that your JDK version does not include the cipher suite you nedd. You have to configure some jce provider like Buoncycastle, then you will be able to use them.