亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

問題

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()獲取輸出流的過程中,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)論