SSLHandshakeException:收到致命警报:handshake_failure(忽略密码)

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

@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>

请告诉我如何将密码正确添加到套接字,以便不再忽略密码。 我使用javax.net.ssl

klw3344 回答:SSLHandshakeException:收到致命警报:handshake_failure(忽略密码)

请确保您的JDK版本不包含您想要的密码套件。您必须配置一些诸如Buoncycastle之类的jce提供程序,然后才能使用它们。

本文链接:https://www.f2er.com/3157907.html

大家都在问