SSL/TLS版本兼容性?
问题描述:
我对Java 1.6的通信运行与服务器通过网络服务于Java 1.8上运行的客户端。SSL/TLS版本兼容性?
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工作]
谢谢您的帮助!如果你不介意,我还有另一个问题!我使用的是球衣杰克逊库的JSON格式(Java1.6)与远程服务器进行通信。如果我使用TLSV1.2而不是当前的TLSv1,会对我的程序产生什么影响? – MultiTask70