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

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

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

問(wèn)題

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

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

原因

代碼中有這個(gè)段

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

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

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

放在

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

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

解決辦法

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

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

的前面即可。

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

這樣設(shè)置不生效

![

這樣設(shè)置才生效

具體的原因

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

總結(jié)

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

相關(guān)文章

最新評(píng)論