1. 程式人生 > >https加密解密過程詳解

https加密解密過程詳解

http col 驗證 獲取 安裝 因此 私鑰 請求 描述

在日常互聯網瀏覽網頁時,我們接觸到的大多都是 HTTP 協議,這種協議是未加密,即明文的。這使得 HTTP 協議在傳輸隱私數據時非常不安全。因此,用於對 HTTP 協議傳輸進行數據加密,即 HTTPS 。

那麽我們再訪問https網站時,大家知道https是安全數據加密傳輸,但是如果讓大家仔細描述從訪問打開一個網站。到數據整個加解密的流程,估計有很多朋友(可能哈)很難清晰的表達出來吧。

包括我自己描述的也會模擬兩可。在此非常有必要詳解下整個流程。

要點: 

 https協議對傳輸內容進行加密,具有更強的安全性,防止被抓包後解析出請求內容。

 https是建立在ssl之上的http協議。

 服務器支持https協議必須安裝一套數字證書,所謂數字證書就是一對公鑰和私鑰,公鑰用來加密,私鑰用來解密。為了與下文中的私鑰進行區分,這裏的公鑰和私鑰稱為公鑰1和私鑰1。

數字證書可以自己制作或者向組織申請,自己制作的會在客戶端彈出提示框,手動驗證通過,而申請的就無需客戶端手動驗證了。

請求過程:

  
1.客戶端訪問 https開頭的url   2.服務端返回公鑰1,客戶端驗證通過(如果不通過,則訪問終斷)。   3.客戶端根據公鑰1生成一個私鑰2,這個私鑰2用來加密和解密請求信息。使用公鑰1對私鑰2進行加密,回傳給服務端。服務端用私鑰1對該信息解密,得到私鑰2。至此,客戶端和服務端都已經有了私鑰2。   4.客戶端和服務端之間使用私鑰2對信息進行加密後通信,這樣即使第三方抓包,也無法輕易獲取通信內容了。 https的服務端部署: 1.搞定公鑰1和私鑰1(申請或者自己造一個)。 2.在nginx配置文件的server域中,配置公鑰1和私鑰1。

未完待續...

https加密解密過程詳解