如何搭建 HTTPS?

什麼是 HTTPS?
HTTPS 簡單來說在 HTTP 協議基礎上加了一層TLS/ SSL 加密協議,由網景公司發明。使用HTTP 明文傳輸相當於數據在互聯網上裸奔,任何時候都有可能被軟硬件廠商、路由器廠商、網絡服務商篡改僞造。

國內主流電商金融支付網站都已實現全站 HTTPS 化,Google 一直是強力推行 HTTPS 化的排頭兵,用過Chrome 瀏覽器的人會發現對非 HTTP 網站做出安全性提示。

HTTPS 和 HTTP 的區別
HTTP 是明文傳輸,數據容易被篡改,HTTPS 屬於加密傳輸,即便得到密文,在不知道私鑰的情況下,無法知道真實數據。

HTTPS 原理

客戶端發起一個https的請求,把自身支持的一系列Cipher Suite(密鑰算法套件,簡稱Cipher)發送給服務端。

服務端,接收到客戶端所有的Cipher後與自身支持的對比,如果不支持則連接斷開,反之以證書的形式返回給客戶端 證書中還包含了 公鑰 頒證機構 網址 失效日期。

客戶端收到服務端響應後會做以下幾件事:

向CA機構驗證證書的合法性

生成隨機字符串,並用證書中的公鑰加密。

隨機字符串Hash編碼

服務端拿到客戶端傳來的密文,用私鑰解密握手消息取出隨機數密碼,再用HASH編碼,並與傳過來的HASH值做對比確認是否一致。

客戶端用隨機數解密並計算握手消息的HASH,如果與服務端發來的HASH一致,此時握手過程結束,之後所有的通信數據將由之前瀏覽器生成的隨機密碼並利用對稱加密算法進行加密 。

(HTTPS原理部分摘自https://www.cnblogs.com/zery/p/5164795.html)

如何搭建

  1. 申請證書
    證書由第三方 CA 認證機構頒發,網站所有者向 CA 機構申請證書,證書中包含了公鑰、頒證機構、網址、失效日期。如果網站使用假冒證書,瀏覽器向 CA 認證機構發送證書是否合法的請求,如果檢測非法證書,瀏覽器可以直接斷開請求。

騰訊雲提供免費1年的SSL證書,申請步驟如下:

註冊登錄 https://cloud.tencent.com

點擊”產品”,搜索 “SSL”, 點擊 “SSL證書”

選擇“域名型免費版“,顯示的價格爲0元,

填寫域名信息

域名驗證,證明域名所有人是你本人,我使用“手動DNS驗證“,確認申請後,跳轉到證書詳情信息頁面。

域名解析,因爲我的域名在萬網註冊的,所以打開登錄萬網,新增一條TXT記錄類型。

返回到騰訊雲證書申請管理頁面,等幾分鐘就能顯示“已頒發”狀態。

將證書下載到本地,完成證書申請流程。

  1. 證書部署到 Tomcat
    解壓剛下載的證書,可以看到已經幫我們生成好了不同WEB服務器的HTTPS證書。

jks就是我們需要的證書文件。

接下來將HTTPS安裝到Tomcat中。

2.1 配置SSL連接器
將www.domain.com.jks文件存放到conf目錄下,然後配置同目錄下的server.xml文件:


配置文件參數 說明
clientAuth

如果設爲true,表示Tomcat要求所有的SSL客戶出示安全證書,對SSL客戶進行身份驗證
keystoreFile 指定keystore文件的存放位置,可以指定絕對路徑,也可以指定相對於 (Tomcat安裝目錄)環境變量的相對路徑。如果此項沒有設定,默認情況下,Tomcat將從當前操作系統用戶的用戶目錄下讀取名爲 “.keystore”的文件。
keystorePass 密鑰庫密碼,指定keystore的密碼。(如果申請證書時有填寫私鑰密碼,密鑰庫密碼即私鑰密碼,否則填寫密鑰庫密碼文件中的密碼)
sslProtocol 指定套接字(Socket)使用的加密/解密協議,默認值爲TLS
2.2 http自動跳轉https的安全配置
到conf目錄下的web.xml。在後面,,也就是倒數第二段裏,加上這樣一段


   
   CLIENT-CERT
   Client Cert Users-only Area
   
   
   
   
   SSL
   /*
   
   
   CONFIDENTIAL
   
   
這步目的是讓非ssl的connector跳轉到ssl的connector去。所以還需要前往server.xml進行配置:


重啓 Tomcat,輸入 HTTPS 網址訪問成功。

網站 HTTPS 化是目前的主流趨勢,但 HTTPS 依然只能做到暫時安全,如果量子計算機成爲可能,HTTPS 握手後數據對稱加密依然不安全。

作者:陳偉chenwei
來源:CSDN
原文:https://blog.csdn.net/sdgihshdv/article/details/80732533
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章