我们有一个在Java Version: 1.7.0_80
上运行的java应用程序,我们正在尝试使用jvm参数TLSv1.2
启用-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
的Web服务。虽然我们有jvm参数java客户端仍然使用TLSv1
与Web服务进行通信,
答案 0 :(得分:2)
正如我在评论中所写,如果没有任何代码更改,您至少需要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。