Java 1.7的这个代码片段中的TLS版本是什么?

Java 1.7的这个代码片段中的TLS版本是什么?,java,ssl,java-security,Java,Ssl,Java Security,我以-Dhttps.protocols=TLSv1、TLSv1.1、TLSv1.2的形式传递JVM参数。但在代码中,我显式地将SSL上下文对象作为 SSLContext sc=null; sc=SSLContext.getInstance(“TLS”) 在这种情况下,TLS版本是最高版本(1.2),还是我需要显式地获得TLS版本 sc = SSLContext.getInstance("TLSv1.2"); 要支持TLS 1.2版,可能不支持 ,此设置仅由HttpsURLConnection和

我以-Dhttps.protocols=TLSv1、TLSv1.1、TLSv1.2的形式传递JVM参数。但在代码中,我显式地将SSL上下文对象作为
SSLContext sc=null;
sc=SSLContext.getInstance(“TLS”)

在这种情况下,TLS版本是最高版本(1.2),还是我需要显式地获得TLS版本

sc = SSLContext.getInstance("TLSv1.2");
要支持TLS 1.2版,可能不支持

,此设置仅由HttpsURLConnection和URl#openStream使用

https.协议

控制通过使用HttpsURLConnection类或通过URL.openStream()操作获得https连接的Java客户端所使用的协议版本


如果您直接获得自己的SSLContext,则可能不会参考该设置。

对于Java8,有一个新的设置似乎更全面:
jdk.tls.client.protocols
是否有一种方法可以捕获出站流量(如使用wireshark等)并在运行时确定tls版本?。。。或接受和转储HTTPS请求的公共web服务。在Wireshark上,可以看到TLS版本为asTLSv1或TLSv1.1…具体取决于具体情况。您需要在wireshark菜单中配置协议,并输入必须捕获TLS通信的端口。