Java 7为客户端禁用TLS 1.1和1.2。从Java密码学体系结构Oracle Providers文档:
尽管Java SE 7发行版中的SunJSSE支持TLS 1.1和TLS 1.2,但是对于客户端连接,默认情况下均未启用任何版本。某些服务器无法正确实现前向兼容性,因此拒绝与TLS 1.1或TLS 1.2客户端通信。为了实现互操作性,SunJSSE默认情况下不为客户端连接启用TLS 1.1或TLS 1.2。
我对启用系统范围设置(可能通过配置文件)而不是针对每个Java应用程序的解决方案感兴趣。
如何在系统范围内管理性启用 TLS 1.1和1.2 ?
注意:从POODLE开始,我想在系统范围内禁用 SSLv3。(SSLv3的问题至少在POODLE之前已有15年之久,但是Java / Oracle / Developers不尊重基本的最佳实践,因此像您和我这样的用户都不得不清理混乱。)
这是Java版本:
$ /Library/Java/JavaVirtualMachines/jdk1.7.0_07.jdk/Contents/Home/bin/java -version
java version "1.7.0_07"
Java(TM) SE Runtime Environment (build 1.7.0_07-b10)
Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)