瀏覽器將自己支援的一套加密演算法給服務端
服務端從中選出一組加密演算法與hash演算法,將自己的身份資訊以證書的形式發回瀏覽器,證書中包括服務端**、加密公鑰及證書頒發機構等資訊
瀏覽器收到訊息後作如下操作
如果證書受信任,或者使用者接受不受信任的證書,瀏覽器生成一串隨機數的密碼(對稱秘鑰),使用證書中的公鑰進行加密;
使用約定好的hash演算法計算握手訊息,並使用生成的隨機數(對稱秘鑰)對握手訊息進行加密,最後將之前生成的所有資訊傳送給伺服器。
伺服器收到瀏覽器發來的資料後,做如下操作
瀏覽器解密訊息並計算握手訊息的hash,如果與伺服器發來的hash一致,此次握手過程結束,之後所有的通訊資料將使用瀏覽器之前生成的隨機密碼並利用對稱加密演算法進行加密通訊。這裡瀏覽器與**互相傳送加密的握手訊息並驗證,目的是為了保證雙方都獲得了一致的密碼,並且可以正常的加密解密資料,為後續真正資料的傳輸做一次測試。
###https常用的加密演算法及hash演算法
非對稱加密演算法:rsa、dsa/dss對稱加密演算法:aes、rc4、3des
hash演算法:md5、sha1、sha256
HTTPS請求的建立過程
伺服器證書 向ca機構申請的證書,儲存在伺服器中,當瀏覽器發起請求時,會把伺服器證書傳送給瀏覽器 伺服器證書包含以下資訊 持有者姓名 發證機關 issuer 有效日期 證書持有人的公鑰 擴充套件資訊 數字簽名 用發證機關的私鑰對前五點資訊簽名 ca根證書 瀏覽器中內建了主流ca機構的根證書,根證書中...
請描述https的請求過程。
客戶端向伺服器發起https請求,連線到伺服器的443埠 伺服器端有乙個金鑰對,即公鑰 即數字證書 和私鑰,是用來進行非對稱加密使用的,伺服器端儲存著私鑰,不能將其洩露,公鑰可以傳送給任何人 伺服器將自己的公鑰傳送給客戶端 客戶端收到伺服器端的公鑰之後,檢查其合法性,如果發現發現公鑰有問題,那麼ht...
請描述https的請求過程
1 客戶端向伺服器發起https請求,連線到伺服器的443埠 2 伺服器端有乙個金鑰對,即公鑰 即數字證書 和私鑰,是用來進行非對稱加密使用的,伺服器端儲存著私鑰,不能將其洩露,公鑰可以傳送給任何人 3 伺服器將自己的公鑰傳送給客戶端 4 客戶端收到伺服器端的公鑰之後,檢查其合法性,如果發現發現公鑰...