我的客户端java -version是1.7.0_85,服务器版本低于该值。当客户端版本较低时,通信就会很好。但是自从更新后我得到了handshake_failure错误。在为服务器触发openssl命令后,它说默认情况下禁用了最新更新RC4中的密码RC4-SHA。无法更新服务器不在我的控制范围内,我应该如何使用java.security中的属性建立通信 文件
答案 0 :(得分:0)
您可以查看java.security中jdk.tls.disabledAlgorithms
参数的值,并从该值列表中删除RC4。
如果与服务器运营商一起打开并行线程以使其修复SSL设置,则不是保留此更改并使客户端不安全,而是更好的选择。
我想重复一下JRE release notes关于RC4使用情况的说法(强调我的)。
区域:security-libs / javax.net.ssl
概要:禁止使用RC4密码套件
RC4现在被视为受损密码。 RC4密码套件有 已从客户端和服务器默认启用的密码套件中删除 Oracle JSSE实现中的列表。这些密码套件仍然可以 由SSLEngine.setEnabledCipherSuites()和。启用 SSLSocket.setEnabledCipherSuites()方法。
请参阅JDK-8077110(非公开)。