Java SSLHandshakeException:收到致命警报:握手失败(忽略密码)

Java SSLHandshakeException:收到致命警报:握手失败(忽略密码),java,ssl,ftp,tls1.2,Java,Ssl,Ftp,Tls1.2,当我使用SSL协议通过FTP传输数据时,一切正常。我目前正在使用带有特定密码的TLS。我发现,Java8忽略了一些密码。然后我把密码添加到代码中 @Override protected void _prepareDataSocket_(final Socket socket) throws IOException { if(socket instanceof SSLSocket) { String[] ciphers = { "TLS_EC

当我使用SSL协议通过FTP传输数据时,一切正常。我目前正在使用带有特定密码的TLS。我发现,Java8忽略了一些密码。然后我把密码添加到代码中

@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();
但现在在调试模式下,错误会像以前一样显示,它会忽略密码。还添加了一个错误:

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>
密码套件:未知的0x2a:0x2a未知的0x2a:0x2a,未知的0x2a:0x2a,未知的0x2a:0x2a:0x2a,未知的0x2a:0x2a:0x2a:0x2a,未知的0x2a:0x2a:0x2a,未知的0x2a:0x2a,未知的0x2a:0x2a:0x2a:0x2a,未知的0x2a:0x2a:0x2a:0x2a:0x2a:0x2a:0x2a:0x2a:0x2a:0x2a:0x2a:0x2a,未知的TLS他们他们的ECDHE和他们他们的ECD和他们的ECDSA和他们的ECDSA和他们的ECDSA和他们的ECDSA和他们的ECDSA和他们的是是和他们的是和他们的是他们的是和他们的是是和他们的是他们的是他们的是他们的是和他们的是和他们的是他们的是和他们的是他们的是他们的是他们的是他们的是用用用用用用用用用用用用用用用用用用用_SHA,TLS_RSA_与_AES_128_GCM_SHA256,TLS_RSA_与_AES_256_GCM_HA384、TLS_RSA_与_AES_128_CBC_SHA、TLS_RSA_与_AES_256_CBC_SHA、SSL_RSA_与_3DES_EDE_CBC_SHA]压缩方法:{0}不支持的扩展类型_23130,数据:扩展重新协商信息,重新协商的连接:
请告诉我如何正确地将密码添加到套接字,以便不再忽略密码。
我使用javax.net.ssl

非常确定您的JDK版本不包括您需要的密码套件。您必须配置一些jce提供程序,如BuoncCastle,然后才能使用它们。

但是JDK 8支持TLS_ECDHE_RSA_和_AES_256_GCM_SHA384密码