簡體   English   中英

Java 為 HttpsURLConnection 使用 SSLContext

[英]Java use SSLContext for HttpsURLConnection

尋找使用 SSLContext 打開 HttpsURLConnection 並限制為 TLSv1.2 的示例。 上下文是使用信任存儲和信任密鑰構建的,在我添加了 custom() 調用之后 - TLS 設置似乎更改為“TLS”與“TLSv1.2”

我的代碼是:

SSLContext sslContext = SSLContext.getInstance("TLSv1.2");
sslContext = SSLContexts.custom()
                .loadTrustMaterial(getKeyStore(trustStoreURL, trustStorePassword), new TrustSelfSignedStrategy())
                .loadKeyMaterial(getKeyStore(keyStoreUrl, keyStorePassword), keyStorePassword.toCharArray()).build();

因此,在 custom() 之后,我在 sslContext 屬性中看到了“TLS”。

為什么你只想使用一個版本,對你的服務器主機有什么限制嗎? 大多數現代服務器使用向后兼容一兩個版本的 TLSv1.2。 當您在創建如下套接字工廠時使用 TLSv1.2 時,

SSLSocketFactory.getInstance("TLSv1.2")

默認允許的協議為 SSL、TLS、TLSv1.1、TLSv1.2。

話雖如此,要回答您的問題,您可以使用 setEnabledProtocols 方法將 SSLSocket 設置為僅啟用幾個協議。 請查看此文檔以獲取更多信息。 完成后,您的 SSL 連接將僅允許指定的協議。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM