寻找一个用HttpsURLConnection打开SSLContext并仅限于TLSv1.2的示例。上下文是使用信任存储和信任键构建的,在我添加了自定义()调用之后,TLS设置似乎被更改为"TLS“is。"TLSv1.2“
我的代码是:
SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
sslContext = SSLContexts.custom()
.loadTrustMaterial(getKeyStore(trustStoreURL, trustStorePassword), new TrustSelfSignedStrategy())
.loadKeyMaterial(getKeyStore(keyStoreUrl, keyStorePassword), keyStorePassword.toCharArray()).build();
因此,在定制()之后,我在sslContext属性中看到"TLS“。
发布于 2022-07-18 13:24:28
为什么您只想使用一个版本,您的服务器主机是否有任何限制?大多数现代服务器使用TLSv1.2,它向后兼容一个或两个版本。在创建套接字工厂时使用TLSv1.2,如下所示,
SSLSocketFactory.getInstance("TLSv1.2")
默认允许的协议是SSL、TLS、TLSv1.1、TLSv1.2。
尽管如此,为了回答您的问题,您可以将SSLSocket设置为使用setEnabledProtocols方法启用几个协议。有关此问题的更多信息,请查看此文档。一旦完成,您的SSL连接将只允许指定的协议。
https://stackoverflow.com/questions/70442640
复制相似问题