Https原理

簡(jiǎn)介

http其實(shí)由HTTP+SSL/TLS組成,相當(dāng)于http加上一層加密算法,客戶端與服務(wù)端傳輸數(shù)據(jù)都是加密的。一開(kāi)始采用非對(duì)稱加密,后續(xù)采用對(duì)稱加密,因?yàn)槌掷m(xù)的非對(duì)稱加密很耗費(fèi)時(shí)間性能。加密過(guò)程如下:

1.客戶端發(fā)起HTTPS請(qǐng)求

2.服務(wù)端提前配置

應(yīng)用https協(xié)議的服務(wù)器必須要一套HTTPS證書(shū),證書(shū)可自生成(免費(fèi)),可向第三方組織申請(qǐng)(收費(fèi))。證書(shū)本質(zhì)上為公鑰與私鑰。Java環(huán)境需要導(dǎo)入證書(shū)到j(luò)dk/jre security路徑下。

3.傳送證書(shū)

4.客戶端解析證書(shū)

客戶端需要驗(yàn)證證書(shū)有效性,可向第三方驗(yàn)證。自制作證書(shū)會(huì)在瀏覽器提示“您的連接不是私密連接”,點(diǎn)擊繼續(xù)為信任自制證書(shū)。

5.客戶端發(fā)送對(duì)稱加密秘鑰

生成隨機(jī)值(后續(xù)處理即為對(duì)稱加密的秘鑰),利用證書(shū)(公鑰)加密隨機(jī)值。

6.服務(wù)端解密

服務(wù)端私鑰解密獲取隨機(jī)值(處理即為對(duì)稱加密的秘鑰)

7.開(kāi)始運(yùn)用對(duì)稱加密的秘鑰進(jìn)行加密傳輸

8.客戶端用對(duì)稱加密的秘鑰解密

開(kāi)發(fā)相關(guān)

開(kāi)發(fā)時(shí),一般http接口改造為https接口,服務(wù)端導(dǎo)入證書(shū)即可。渠道方服務(wù)端訪問(wèn)權(quán)益方服務(wù)端對(duì)接HTTPS接口需要校驗(yàn)證書(shū)有效性有兩種方法

1.導(dǎo)入https證書(shū)(公鑰),可向權(quán)益方索取,網(wǎng)絡(luò)通情況下也可以chrome訪問(wèn)接口下載證書(shū)(公鑰)。java開(kāi)發(fā)環(huán)境下可以導(dǎo)入到JDK/JRE 下的security。注意服務(wù)需要重啟。

2.也可以跳過(guò)證書(shū)有效性校驗(yàn):無(wú)條件信任對(duì)方返回的證書(shū)(公鑰)。

新建SSLClient繼承DefaultHttpClient,重寫(xiě)相關(guān)方法即可。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容