欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決SSLContext.getInstance()中參數(shù)設(shè)置TLS版本無效的問題

 更新時間:2024年01月23日 10:21:33   作者:翟小江  
這篇文章主要介紹了解決SSLContext.getInstance()中參數(shù)設(shè)置TLS版本無效的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

問題

SSLContext sc = SSLContext.getInstance(“TLSv1.1”)

設(shè)置后,https握手連接使用中使用的TLS版本還是jdk的默認版本(jdk7默認是TLSv1,jdk8默認是TLSv1.2)。

原因

代碼中有這個段

conn.getOutputStream().write(postBody.toString().getBytes());

// 輸入?yún)?shù) 進行輸入?yún)?shù),而

SSLContext sc = SSLContext.getInstance(“TLSv1.1”)

放在

conn.getOutputStream().write(postBody.toString().getBytes())

代碼的后面,導致設(shè)置的TLSv1.1不生效。

解決辦法

將SSLContext.getInstance(“TLSv1.1”)放到

conn.getOutputStream().write(postBody.toString().getBytes())

的前面即可。

以下在jdk8環(huán)境下的測試:

這樣設(shè)置不生效

![

這樣設(shè)置才生效

具體的原因

是因為在conn.getOutputStream()獲取輸出流的過程中,conn就已經(jīng)做了conn.connect()方法了,一條連接已經(jīng)建立了,后面再進行SSLContext sc = SSLContext.getInstance(“TLSv1.1”);指定TLS的版本自然就不會生效了。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論