【问题标题】:RC4 related issue after Java 8 updateJava 8 更新后的 RC4 相关问题
【发布时间】:2016-08-10 00:21:33
【问题描述】:

在以前版本的 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

我仍然无法使上述套件正常工作。任何启用它们的想法,我也尝试在运行应用程序时添加它们,

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 encryption java-8 java-security


    【解决方案1】:

    release notes of Oracle JRE 8u51 提到了一个名为 jdk.tls.legacyAlgorithms 的新安全属性,其中添加了 RC4:

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

    我假设您必须从 java.security 文件的该属性列表中删除 RC4_40 才能使其再次可用。

    【讨论】:

      【解决方案2】:

      为了解决这个问题,我们必须重新启用 RC4 和 MD5(现在两者都被视为受损算法)。这必须通过修改“java.security”配置(通过从 jdk.tls.disabledAlgorithms、jdk.certpath.disabledAlgorithms 中删除 RC4 和 MD5)文件并使用“SSLSocket/ SSLEngine.setEnabledCipherSuites()”。有关重新添加 RC4 相关密码的更多信息,请参阅 Java 8 发布亮点 (https://java.com/en/download/faq/release_changes.xml) 的 Java 8 Update 60 (8u60) 部分和以下参考资料 (http://bugs.java.com/view_bug.do?bug_id=8076221)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-24
        • 1970-01-01
        • 1970-01-01
        • 2014-09-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多