https加密完整過程
step1: “客戶”向服務(wù)端發(fā)送一個通信請求
“客戶”->“服務(wù)器”:你好
step2: “服務(wù)器”向客戶發(fā)送自己的數(shù)字證書靠闭。證書中有一個公鑰用來加密信息敢会,私鑰由“服務(wù)器”持有
“服務(wù)器”->“客戶”:你好园匹,我是服務(wù)器,這里是我的數(shù)字證書
step3: “客戶”收到“服務(wù)器”的證書后召调,它會去驗證這個數(shù)字證書到底是不是“服務(wù)器”的稿静,數(shù)字證書有沒有什么問題,數(shù)字證書如果檢查沒有問題呕寝,就說明數(shù)字證書中的公鑰確實是“服務(wù)器”的。檢查數(shù)字證書后婴梧,“客戶”會發(fā)送一個隨機的字符串給“服務(wù)器”用私鑰去加密下梢,服務(wù)器把加密的結(jié)果返回給“客戶”,“客戶”用公鑰解密這個返回結(jié)果塞蹭,如果解密結(jié)果與之前生成的隨機字符串一致孽江,那說明對方確實是私鑰的持有者,或者說對方確實是“服務(wù)器”番电。
“客戶”->“服務(wù)器”:向我證明你就是服務(wù)器岗屏,這是一個隨機字符串 //前面的例子中為了方便解釋,用的是“你好”等內(nèi)容钧舌,實際情況下一般是隨機生成的一個字符串担汤。
“服務(wù)器”->“客戶”:{一個隨機字符串}[私鑰|RSA]
step4: 驗證“服務(wù)器”的身份后,“客戶”生成一個對稱加密算法和密鑰洼冻,用于后面的通信的加密和解密崭歧。這個對稱加密算法和密鑰,“客戶”會用公鑰加密后發(fā)送給“服務(wù)器”撞牢,別人截獲了也沒用率碾,因為只有“服務(wù)器”手中有可以解密的私鑰。這樣屋彪,后面“服務(wù)器”和“客戶”就都可以用對稱加密算法來加密和解密通信內(nèi)容了所宰。
“服務(wù)器”->“客戶”:{OK,已經(jīng)收到你發(fā)來的對稱加密算法和密鑰畜挥!有什么可以幫到你的仔粥?}[密鑰|對稱加密算法]
“客戶”->“服務(wù)器”:{我的帳號是aaa,密碼是123蟹但,把我的余額的信息發(fā)給我看看}[密鑰|對稱加密算法]
“服務(wù)器”->“客戶”:{你好躯泰,你的余額是100元}[密鑰|對稱加密算法]
…… //繼續(xù)其它的通信
上面的過程已經(jīng)十分接近HTTPS的真是通信過程了,完全可以按照這個過程去理解HTTPS的工作原理华糖。相信大家都應(yīng)該能明白HTTPS通信了麦向。