【问题标题】:How to enable SSLv3 in Java 8u91?如何在 Java 8u91 中启用 SSLv3?
【发布时间】: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 实际上,这很有帮助,为我提供了解决问题的新角度。

标签: java sslv3


【解决方案1】:

我能够在post 之后运行它。我用jdk.tls.disabledAlgorithms 条目定义了一个属性文件,确保它没有像下面这样的 SSLv3

java.sslv3.security

jdk.tls.disabledAlgorithms=RC4, MD5withRSA, DH keySize < 768

然后启动 Java,如下所示。请注意 = 的使用,因为这将附加到现有的 java.security 文件中,而不是完全替换它

java -Djava.security.properties=java.sslv3.security SocketProtocols
Enabled protocols:
SSLv3
TLSv1
TLSv1.1
TLSv1.2

【讨论】:

  • 非常感谢您的提示!在我的例子中,应用程序是从嵌入在网页中的 jnlp 文件加载的(我无法控制网页、jnlp 文件或服务器应用程序),但了解这种技术是件好事。
猜你喜欢
  • 2016-04-14
  • 2016-05-07
  • 2019-07-05
  • 1970-01-01
  • 2019-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多