天天看點

手把手教你 HTTPS 配置

手把手教你 HTTPS 配置

還記得前兩天,給大家分享了一篇關于Https的安全性文章

上次有讀者說,需要整一篇關于如何Https配置的文章,今天就來了。這篇文章非常詳細,隻需要5分鐘,就可以搞定Https的配置 。廢話不多說,開始正題了。

FreeSSL.cn 是一個免費提供 HTTPS 證書申請、HTTPS 證書管理和 HTTPS 證書到期提醒服務的網站,旨在推進 HTTPS 證書的普及與應用,簡化證書申請的流程。

當然了,我看重的不是免費,而是 FreeSSL 使用起來非常人性化。我是一個計算機常識非常薄弱的程式員(羞愧一下),但通過 FreeSSL,我竟然可以獨自完成 Tomcat 的 HTTPS 配置!

很多年以前,公司要做華夏銀行的接口對接,需要 HTTPS 通路,大概花了 3000 塊買的證書,最後證書還有問題,HTTPS 也沒搞定。總之,坑的很!

手把手教你 HTTPS 配置

FreeSSL.cn 有很大的不同,申請非常便捷,優點很多,值得推薦一波。畢竟再也不用郵件、電話各種聯系了(也許時代進步了)。

•100% 永久免費;這要感謝 Let's Encrypt 與 TrustAsia 提供的免費 SSL 證書。在 HTTPS 證書到期前,FreeSSL.cn 會及時地提醒更換證書,免費的服務。

•私鑰不在網絡中傳播,確定 HTTPS 證書的安全。

第一步,填寫域名,點選「建立免費的 SSL 證書」

手把手教你 HTTPS 配置

第二步,填寫郵箱,點選「建立」

手把手教你 HTTPS 配置

1)證書類型預設為 RSA

RSA 和 ECC 有什麼差別呢?可以通過下面幾段文字了解一下。

HTTPS 通過 TLS 層和證書機制提供了内容加密、身份認證和資料完整性三大功能,可以有效防止資料被監聽或篡改,還能抵禦 MITM(中間人)攻擊。TLS 在實施加密過程中,需要用到非對稱密鑰交換和對稱内容加密兩大算法。

對稱内容加密強度非常高,加解密速度也很快,隻是無法安全地生成和保管密鑰。在 TLS 協定中,應用資料都是經過對稱加密後傳輸的,傳輸中所使用的對稱密鑰,則是在握手階段通過非對稱密鑰交換而來。常見的 AES-GCM、ChaCha20-Poly1305,都是對稱加密算法。

非對稱密鑰交換能在不安全的資料通道中,産生隻有通信雙方才知道的對稱加密密鑰。目前最常用的密鑰交換算法有 RSA 和 ECDHE:RSA 曆史悠久,支援度好,但不支援 PFS(Perfect Forward Secrecy);而 ECDHE 是使用了 ECC(橢圓曲線)的 DH(Diffie-Hellman)算法,計算速度快,支援 PFS。

2)驗證類型預設為 DNS

DNS 和檔案驗證有什麼差別呢?我們再來一起了解下。

首先,我們需要明白一點,CA(Certificate Authority,證書頒發機構) 需要驗證我們是否擁有該域名,這樣才給我們頒發證書。

檔案驗證(HTTP):CA 将通過通路特定 URL 位址來驗證我們是否擁有域名的所有權。是以,我們需要下載下傳給定的驗證檔案,并上傳到您的伺服器。

DNS 驗證:CA 将通過查詢 DNS 的 TXT 記錄來确定我們對該域名的所有權。我們隻需要在域名管理平台将生成的 TXT 記錄名與記錄值添加到該域名下,等待大約 1 分鐘即可驗證成功。

是以,如果對伺服器操作友善的話,可以選擇檔案驗證;如果對域名的伺服器操作比較友善的話,可以選擇 DNS 驗證。如果兩個都友善的話,請随意選啦。

3)CSR生成預設為離線生成

離線生成、浏覽器生成 和 我有 CSR 又有什麼差別呢?來,我們繼續了解一下。

離線生成 推薦!!!:私鑰在本地加密存儲,更安全;公鑰自動合成,支援常見證書格式轉換,友善部署;支援部分 WebServer 的一鍵部署,非常便捷。

離線生成的時候,需要先安裝 KeyManager,可以提供安全便捷的 SSL 證書申請和管理。下載下傳位址如下:https://keymanager.org/

Windows 的話,安裝的時候要選擇“以管理者身份運作”。

浏覽器生成:在浏覽器支援 <code>Web Cryptography</code> 的情況下,會使用浏覽器根據使用者的資訊生成 CSR 檔案。

Web Cryptography,網絡密碼學,用于在 Web 應用程式中執行基本加密操作的 JavaScript API。很多浏覽器并不支援

我有 CSR:可以粘貼自己的 CSR,然後建立。

第三步,選擇離線生成,打開 KeyManager

手把手教你 HTTPS 配置

填寫密碼後點選「開始」,稍等片刻,出現如下界面。

手把手教你 HTTPS 配置

第四步,傳回浏覽器,點選「下一步」,出現如下界面。

手把手教你 HTTPS 配置

第五步,下載下傳檔案,并上傳至伺服器指定目錄下。

手把手教你 HTTPS 配置

第六步,點選「驗證」,通過後,出現以下界面。

手把手教你 HTTPS 配置

第七步,點選「儲存到KeyManager」,可以看到證書狀态變成了已頒發。

手把手教你 HTTPS 配置

第一步,導出證書。假如伺服器選擇的 Tomcat,需要導出 Java keystone (簡拼為 jks)格式的證書。

手把手教你 HTTPS 配置

注意:私鑰的密碼在配置 Tomcat 的時候用到。

手把手教你 HTTPS 配置

第二步,上傳證書至伺服器。

手把手教你 HTTPS 配置

第三步,配置 Tomcat 的 server.xml。

其中 keystorePass 為導出證書時私鑰的加密密碼。

第四步,重新開機 Tomcat,并在浏覽器位址欄中輸入 <code>https://qingmiaokeji.cn/</code> 進行測試。

手把手教你 HTTPS 配置

注意到沒,浏覽器位址欄前面有一個綠色的安全鎖,這說明 HTTPS 配置成功了!好了,為自己鼓個掌!

— 完 —

很多人不知道如果把公衆号标星置頂,特意做了一個動态圖示範,感謝大家可以置頂一下哈,不要錯過公衆号的打卡活動了!

手把手教你 HTTPS 配置

繼續閱讀