詳解https 加密完整過程
https加密完整過程
step1: “客戶”向服務端發(fā)送一個通信請求
“客戶”->“服務器”:你好
step2: “服務器”向客戶發(fā)送自己的數(shù)字證書。證書中有一個公鑰用來加密信息,私鑰由“服務器”持有
“服務器”->“客戶”:你好,我是服務器,這里是我的數(shù)字證書
step3: “客戶”收到“服務器”的證書后,它會去驗證這個數(shù)字證書到底是不是“服務器”的,數(shù)字證書有沒有什么問題,數(shù)字證書如果檢查沒有問題,就說明數(shù)字證書中的公鑰確實是“服務器”的。檢查數(shù)字證書后,“客戶”會發(fā)送一個隨機的字符串給“服務器”用私鑰去加密,服務器把加密的結(jié)果返回給“客戶”,“客戶”用公鑰解密這個返回結(jié)果,如果解密結(jié)果與之前生成的隨機字符串一致,那說明對方確實是私鑰的持有者,或者說對方確實是“服務器”。
“客戶”->“服務器”:向我證明你就是服務器,這是一個隨機字符串 //前面的例子中為了方便解釋,用的是“你好”等內(nèi)容,實際情況下一般是隨機生成的一個字符串。 “服務器”->“客戶”:{一個隨機字符串}[私鑰|RSA]
step4: 驗證“服務器”的身份后,“客戶”生成一個對稱加密算法和密鑰,用于后面的通信的加密和解密。這個對稱加密算法和密鑰,“客戶”會用公鑰加密后發(fā)送給“服務器”,別人截獲了也沒用,因為只有“服務器”手中有可以解密的私鑰。這樣,后面“服務器”和“客戶”就都可以用對稱加密算法來加密和解密通信內(nèi)容了。
“服務器”->“客戶”:{OK,已經(jīng)收到你發(fā)來的對稱加密算法和密鑰!有什么可以幫到你的?}[密鑰|對稱加密算法] “客戶”->“服務器”:{我的帳號是aaa,密碼是123,把我的余額的信息發(fā)給我看看}[密鑰|對稱加密算法] “服務器”->“客戶”:{你好,你的余額是100元}[密鑰|對稱加密算法] …… //繼續(xù)其它的通信
上面的過程已經(jīng)十分接近HTTPS的真是通信過程了,完全可以按照這個過程去理解HTTPS的工作原理。相信大家都應該能明白HTTPS通信了。
如有疑問請留言或者到本站社區(qū)討論交流,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
vscode使用editorconfig插件以及.editorconfig配置文件說明詳解
這篇文章主要介紹了vscode使用editorconfig插件以及.editorconfig配置文件說明詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04解決Git fatal: refusing to merge unre
這篇文章主要介紹了解決Git fatal: refusing to merge unrelated histories報錯問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11vscode檢測到#include錯誤請更新includePath的解決方法
這篇文章主要介紹了vscode檢測到#include錯誤請更新includePath的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-08-08ffmpeg網(wǎng)頁視頻流m3u8 ts實現(xiàn)視頻下載
這篇文章主要為大家介紹了ffmpeg網(wǎng)頁視頻流m3u8 ts實現(xiàn)視頻下載詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07