Java 8更新后的RC4相关问题

Java 8更新后的RC4相关问题,java,encryption,java-8,java-security,Java,Encryption,Java 8,Java Security,在Java RC4的早期版本中,当时我的应用程序运行良好,但在Java 8 U 77更新后,它不再使用以下密码,而这些密码需要与我的一个遗留服务器一起使用 TLS_ECDHE_ECDSA_WITH_RC4_128_SHA TLS_ECDHE_RSA_WITH_RC4_128_SHA SSL_RSA_WITH_RC4_128_SHA TLS_ECDH_ECDSA_WITH_RC4_128_SHA TLS_ECDH_RSA_WITH_RC4_128_SHA SSL_RSA_WITH_RC4_128_

在Java RC4的早期版本中,当时我的应用程序运行良好,但在Java 8 U 77更新后,它不再使用以下密码,而这些密码需要与我的一个遗留服务器一起使用

TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
SSL_RSA_WITH_RC4_128_SHA
TLS_ECDH_ECDSA_WITH_RC4_128_SHA
TLS_ECDH_RSA_WITH_RC4_128_SHA
SSL_RSA_WITH_RC4_128_MD5
我修改了java.security和禁用的算法部分,如下所示

jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
jdk.certpath.disabledAlgorithms=MD2,RSA密钥大小<1024
我还是不能让上面的套房工作。如果想启用它们,我还尝试在运行应用程序时添加它们

java -Djavax.net.debug=all -Djavax.net.debug=ssl:handshake:verbose -Dhttps.cipherSuites="TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,SSL_RSA_WITH_RC4_128_SHA,TLS_ECDH_ECDSA_WITH_RC4_128_SHA,TLS_ECDH_RSA_WITH_RC4_128_SHA,SSL_RSA_WITH_RC4_128_MD5" <myApp>
java-Djavax.net.debug=all-Djavax.net.debug=ssl:handshake:verbose-Dhttps.cipherSuites=“TLS_ECDHE_ECDSA_WITH_RC4_128_SHA、TLS_ECDHE_RSA_WITH_RC4_128_SHA、ssl_RSA_RSA_WITH_RC4_128_SHA、TLS_ECDH_ECDH_ECDSA_ECDSA_WITH_RSA_WITH_RC4_128_、TLSrsa128RSARSARSARSARSA、TLSecdhu RSAec
还是不走运,提前谢谢

提到一个新的安全属性,名为
jdk.tls.legacyAlgorithms
,其中添加了RC4:

RC4现在被认为是弱密码。除非客户端请求的密码套件中没有其他更强的候选密码,否则服务器不应选择RC4。添加了一个新的安全属性jdk.tls.legacyAlgorithms来定义Oracle JSSE实现中的遗留算法。RC4相关算法被添加到遗留算法列表中

我假设您必须从java.security文件中的属性列表中删除
RC4\u 40
,以使其再次可用。

提到一个名为
jdk.tls.legacyAlgorithms
的新安全属性,其中添加了RC4:

RC4现在被认为是弱密码。除非客户端请求的密码套件中没有其他更强的候选密码,否则服务器不应选择RC4。添加了一个新的安全属性jdk.tls.legacyAlgorithms来定义Oracle JSSE实现中的遗留算法。RC4相关算法被添加到遗留算法列表中


我假设您必须从java.security文件中的属性列表中删除
RC4\u 40
,使其再次可用。

要解决此问题,我们必须重新启用RC4和MD5(现在都被视为折衷算法)。必须通过修改“java.security”配置(从jdk.tls.disabledAlgorithms、jdk.certpath.disabledAlgorithms中删除RC4和MD5)文件并使用“SSLSocket/SSLEngine.setenablediphersuites()”重新添加上述“缺席密码套件”来完成。有关重新添加RC4相关密码的更多信息,请参阅Java 8发行版突出显示()的Java 8 Update 60(8u60)部分和以下参考()

要解决此问题,我们需要做的是重新启用RC4和MD5(两者现在都被视为折衷算法)。必须通过修改“java.security”配置(从jdk.tls.disabledAlgorithms、jdk.certpath.disabledAlgorithms中删除RC4和MD5)文件并使用“SSLSocket/SSLEngine.setenablediphersuites()”重新添加上述“缺席密码套件”来完成。有关重新添加RC4相关密码的更多信息,请参阅Java 8发行版突出显示()的Java 8 Update 60(8u60)部分和以下参考()