Java HttpsURLConnection和TLS 1.2
我读了一篇HttpsURLConnection
将透明地协商SSL连接的文章。
官方文件说:
此类使用HostnameVerifier和SSLSocketFactory。这两个类都有默认的实现。[
1
]
这是否意味着一旦您打开与
httpsCon = (HttpsURLConnection) url.openConnection();
它已经被SSL / TLS加密了,没有更多麻烦了吗?
如何查看和设置标准实施的TLS版本?(对于Java 8应该是TLS 1.2,对于Java 7应该是TLS 1.0)
回答:
- 甲骨文公司(2011)。 _javax.net.ssl.HttpsURLConnection_ 。(JavaDoc)
回答:
您将必须 在 创建一个SSLContext
用于设置Protocoll的协议:
SSLContext sc = SSLContext.getInstance("TLSv1.2"); // Init the SSLContext with a TrustManager[] and SecureRandom()
sc.init(null, trustCerts, new java.security.SecureRandom());
在 :
SSLContext sc = SSLContext.getInstance("TLSv1"); // Init the SSLContext with a TrustManager[] and SecureRandom()
sc.init(null, trustCerts, new java.security.SecureRandom());
那么您只需将 SSLContext 设置为 :
httpsCon.setSSLSocketFactory(sc.getSocketFactory());
这应该够了吧。
以上是 Java HttpsURLConnection和TLS 1.2 的全部内容, 来源链接: utcz.com/qa/429773.html