查询JDK支持的 TLS协议版本:
public static void main(String[] args) throws Exception {
SSLContext context = SSLContext.getInstance("TLS");
context.init(null, null, new SecureRandom());
SSLSocketFactory factory = context.getSocketFactory();
SSLSocket socket = (SSLSocket) factory.createSocket();
String[] protocols = socket.getSupportedProtocols();
System.out.println("Supported Protocols: " + protocols.length);
for (String protocol : protocols) {
System.out.println(" " + protocol);
}
protocols = socket.getEnabledProtocols();
System.out.println("Enabled Protocols: " + protocols.length);
for (String protocol : protocols) {
System.out.println(" " + protocol);
}
}
运行结果:
小结:
JDK版本 | HTTPS请求默认使用的TLS版本 | 支持的协议 |
7 | TLSv1 | TLSv1、TLSv1.1、TLSv1.2、SSLv3 |
8 | TLSv1.2 | TLSv1、TLSv1.1、TLSv1.2、SSLv3 |
11 | TLSv1.3 | TLSv1、TLSv1.1、TLSv1.2、TLSv1.3、SSLv3 |