【问题标题】:How to enable TLSv1.2 in JAVA 7u80 client如何在 JAVA 7u80 客户端中启用 TLSv1.2
【发布时间】:2018-09-06 11:06:13
【问题描述】:

我们有一个在Java Version: 1.7.0_80 上运行的java 应用程序,我们正在尝试使用jvm 参数-Dhttps.protocols=TLSv1.1,TLSv1.2 -Djdk.tls.client.protocols=TLSv1.1,TLSv1.2-Ddeployment.security.TLSv1=false -Ddeployment.security.TLSv1.1=true -Ddeployment.security.TLSv1.2=true 启用TLSv1.2 以使用仅支持TLSv1.2 的Web 服务。虽然我们有 jvm 参数 java 客户端仍然使用TLSv1 与 Web 服务通信,

有人可以帮我吗?我需要进行任何 jvm 配置才能使用 TLSv1.2 而无需更改任何代码吗?

【问题讨论】:

  • 我正在尝试使其仅在我的情况下进行配置更改,而无需更改代码
  • 据我了解,没有。您必须将您的 java 7 更新到最新补丁(我猜是 131)或更改代码。
  • @SergeiSirik :不是真正的重复。在您提到的问题中,没有答案给出它不起作用的真正原因:“”jdk.tls.client.protocols 系统属性。此属性自 Java SE 7u95 起就可用。"
  • 它是一个用于 web 服务调用的 https 协议

标签: java ssl https tls1.2


【解决方案1】:

如我在评论中所写,无需任何代码更改,您至少需要7u95

jdk.tls.client.protocols 系统属性。启用特定的 SunJSSE 客户端上的协议,在以逗号分隔的列表中指定它们 引号;然后禁用所有其他支持的协议 客户端。例如,如果此属性的值为 “TLSv1,TLSv1.1”,然后是客户端上的默认协议设置 客户端启用 TLSv1 和 TLSv1.1,而 SSLv3、TLSv1.2 和 SSLv2Hello 在客户端被禁用。此属性已可用 自 Java SE 7u95 起

自 Java 6u121 起同样的属性也可用,Java 6 支持并实现 TLS 1.2。

【讨论】:

  • Java 7u95 仅适用于商业用户。不适用于简单用户。我猜问题最初是关于如何在 Java 7u80 中启用 TLSv1.2。任何人都可以帮助在 7u80 中启用 TLSv1.2 吗?
  • 问题确实是针对 7u80 的,如果无法升级,则需要更改代码(上面 Sergei Sirik 的链接给出的解决方案之一)。
  • 不幸的是,链接中提供的代码仅适用于 sql 身份验证。不适用于 Windows 身份验证。
  • 问题是关于启用 TLS 1.2。如果您在 Windows 身份验证方面遇到困难,请提供代码并在 SO 上提出问题,或在 ServerFault 上提问。
  • Java 6u161 似乎是“Java SE 高级版”,因此仅对付费客户可用。见stackoverflow.com/questions/45859426/…
猜你喜欢
  • 1970-01-01
  • 2019-04-07
  • 1970-01-01
  • 2016-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多