- 公開密鑰加密(非對稱加密)(RSA): 私有密鑰,公開密鑰,只有私有密鑰能解密
- 共享密鑰加密(對稱加密):兩把鑰匙一樣

步驟1: 客戶端通過發(fā)送 Client Hello 報文開始 SSL 通信。報文中包含客戶端支持的 SSL 的指定版本、加密組件( Cipher Suite)列表(所使用的加密算法及密鑰長度等)。
步驟2: 服務器可進行 SSL 通信時,會以 Server Hello 報文作為應答。和客戶端一樣,在報文中包含 SSL 版本以及加密組件。服務器的加密組件內(nèi)容是從接收到的客戶端加密組件內(nèi)篩選出來的。
步驟3: 之后服務器發(fā)送 Certificate 報文。報文中包含公開密鑰證書。
步驟4: 最后服務器發(fā)送 Server Hello Done 報文通知客戶端,最初階段的 SSL 握手協(xié)商部分結(jié)束。
步驟5: SSL 第一次握手結(jié)束之后,客戶端以 Client Key Exchange 報文作為回應。報文中包含通信加密中使用的一種被稱為 Pre-master secret 的隨機密碼串。該報文已用步驟 3 中的公開密鑰進行加密。
步驟6: 接著客戶端繼續(xù)發(fā)送 Change Cipher Spec 報文。該報文會提示服務器,在此報文之后的通信會采用 Pre-master secret 密鑰加密。
步驟7: 客戶端發(fā)送 Finished 報文。該報文包含連接至今全部報文的整體校驗值。這次握手協(xié)商是否能夠成功,要以服務器是否能夠正確解密該報文作為判定標準。
步驟8: 服務器同樣發(fā)送 Change Cipher spec 報文。
步驟9: 服務器同樣發(fā)送 Finished 報文。
步驟10: 服務器和客戶端的 Finished 報文交換完畢之后,SSL 連接就算建立完成。當然,通信會受到 SSL 的保護。從此處開始進行應用層協(xié)議的通信,即發(fā)送 HTTP 請求。
步驟11: 應用層協(xié)議通信,即發(fā)送 HTTP 響應。
步驟12: 最后由客戶端斷開連接。斷開連接時,發(fā)送 close_notify 報文。上圖做了一些省略,這步之后再發(fā)送 TCP FIN 報文來關閉與 TCP 的通信。