【发布时间】:2016-10-20 15:37:58
【问题描述】:
已向before 提出此问题,但建议的答案在最新的 Java 运行时引擎中不起作用。
如何在 Java 中启用 SSLv3(访问制造商永远不会更新的旧网站 - 特别是旧服务器中现已停产的戴尔 DRAC 5 卡)? SSLv3 自更新 31 以来已被禁用,但过去可以通过编辑 java.security 文件重新启用。
在更新 91 中,此方法似乎不再有效。有没有新的方法可以做到这一点,还是我必须降级到 Java 的早期版本?
按要求更新:自更新 31 以来一直有效的方法是编辑 java.security 文件(在 /lib/security 中)。该文件包含一行
jdk.tls.disabledAlgorithms=SSLv3 ...
过去可行的解决方案是从该行中删除 SSLv3(或完全注释掉该行)。在 Java 8 更新 91 中,删除 SSLv3 或将其完全注释掉似乎不再有任何效果。
【问题讨论】:
-
如果您准确展示您为启用 SSLv3 所做的 操作,您更有可能获得帮助。
-
在 WINdows 包(32 位和 64 位)中为我工作;我的 Linux 尚未更新。你确定你正在运行编辑后的 JRE 并得到专门的
SSLHandshake Exception: Server chose SSLv3, but ... not enabled ... -
@dave_thompson_085 很有趣。我在 Windows 和 Linux 上都遇到了这个问题,降级到 8u60,然后重复该过程,为我修复了它。我的症状略有不同,因为应用程序只报告“SSL 套接字连接失败”
-
您对@Siva 的回答的评论提到了您的 Q 没有提到的 JNLP。 JNLP/webstart 的安全模型与我测试的“普通”Java 有很大不同;此外,他们经常在更新(次要版本)上对其进行调整,而他们很少这样做。这可能是您的问题所在,如果是这样,我无能为力,抱歉。
-
@dave_thompson_085 实际上,这很有帮助,为我提供了解决问题的新角度。