SSL/TLS 版本兼容性?

SSL/TLS version compatibility?

我在 java 1.6 上有一个客户端 运行 通过 Web 服务与服务器 运行 在 java 1.8 上通信。

1) 我想知道我的客户端是否支持任何 SSL/TLS 版本?

2) 如何找出我的客户端 运行 在什么 SSL/TLS 版本上假设我无法访问远程服务器?

3) 我可以从 java 客户端应用程序强制使用 TLS/SSL 版本吗?

任何帮助都会很棒!谢谢!

SSLSocket 提供方法getSupportedProtocols():

SSLSocketFactory sf = new SSLSocketFactoryImpl();
SSLSocket s = (SSLSocket) sf.createSocket();
System.out.println( Arrays.toString( s.getSupportedProtocols() )) ;

输出: [SSLv2Hello、SSLv3、TLSv1、TLSv1.1、TLSv1.2]

http://download.java.net/jdk7/archive/b123/docs/api/javax/net/ssl/SSLSocket.html#getSupportedProtocols%28%29