直播軟件源碼,HTTPS為平臺(tái)展現(xiàn)的兩種形式
直播軟件源碼使用的HTTP協(xié)議是基于明文傳輸數(shù)據(jù)的,數(shù)據(jù)在傳輸過(guò)程中很容易被竊取、被篡改,這導(dǎo)致了一些重要的信息泄露,或者導(dǎo)致一些重要的信息被惡意修改,這時(shí),直播軟件源碼為了保證平臺(tái)數(shù)據(jù)安全,會(huì)進(jìn)而改用HTTPS協(xié)議。
?

一、了解HTTPS
我們熟知的HTTPS協(xié)議其實(shí)是簡(jiǎn)稱,并不是一個(gè)新的協(xié)議,而是HTTP+SSL,相當(dāng)于將SSL嵌套在HTTP和傳輸層之間,SSL的作用有,認(rèn)證客戶端和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的地方,加密直播軟件源碼的數(shù)據(jù),防止數(shù)據(jù)中途被竊取,維護(hù)數(shù)據(jù)的完整性,防止數(shù)據(jù)在傳輸過(guò)程中被篡改。
?

二、單向HTTPS
所謂的單向HTTPS,在認(rèn)證時(shí),只需要客戶端去認(rèn)證服務(wù)端,而不需要服務(wù)端去認(rèn)證客戶端。
過(guò)程:
1、直播軟件源碼客戶端發(fā)送一個(gè)HTTPS鏈接,發(fā)送自己的SSL版本號(hào)和支持的Hash算法
2、服務(wù)端在收到HTTPS請(qǐng)求后,生成公司鑰對(duì)并將公鑰發(fā)給CA機(jī)構(gòu)去生成證書,然后根據(jù)客戶端發(fā)來(lái)的SSL版本號(hào)和hash算法協(xié)商自己版本號(hào)
3、客戶端驗(yàn)證收到證書后,驗(yàn)證證書的合法性
4、服務(wù)端收到消息后,會(huì)首先使用私鑰對(duì)隨機(jī)數(shù)進(jìn)行解密,得到隨機(jī)數(shù)后,對(duì)握手消息進(jìn)行解密,再使用hash對(duì)握手消息進(jìn)行運(yùn)算,使用隨機(jī)數(shù)進(jìn)行加密,發(fā)送給直播軟件源碼客戶端
5、客戶端收到發(fā)送的消息后,使用隨機(jī)數(shù)解密,然后對(duì)握手消息進(jìn)行hash運(yùn)算,與傳過(guò)來(lái)的hash進(jìn)行對(duì)比,若對(duì)比成功,則進(jìn)行真正的數(shù)據(jù)傳輸
?

三、雙向HTTPS
是在客戶端驗(yàn)證完服務(wù)端后,服務(wù)端也需要驗(yàn)證客戶端。
雙向HTTPS只是在客戶端驗(yàn)證服務(wù)端證書正確后,發(fā)送自己的證書及公鑰,服務(wù)端收到后進(jìn)行驗(yàn)證,然后在發(fā)送隨機(jī)數(shù)的過(guò)程中,客戶端使用服務(wù)端的公鑰進(jìn)行加密,在寫上加密算法時(shí),客戶端發(fā)送自己支持加密方式,服務(wù)端選擇加密程度高的方式使用客戶端的公鑰進(jìn)行加密,然后發(fā)送給直播軟件源碼的客戶端。
聲明:以上內(nèi)容為云豹科技作者本人原創(chuàng),未經(jīng)作者本人同意,禁止轉(zhuǎn)載,否則將追究相關(guān)法律責(zé)任