FreeSSL.cn 是一個免費提供 HTTPS 證書申請、HTTPS 證書管理和 HTTPS 證書到期提醒服務的網站,旨在推進 HTTPS 證書的普及與應用,簡化證書申請的流程。
01、關于 FreeSSL.cn
FreeSSL.cn 是一個免費提供 HTTPS 證書申請、HTTPS 證書管理和 HTTPS 證書到期提醒服務的網站,旨在推進 HTTPS 證書的普及與應用,簡化證書申請的流程。
當然了,我看重的不是免費,而是 FreeSSL 使用起來非常人性化。我是一個計算機常識非常薄弱的程序員(羞愧一下),但通過 FreeSSL,我竟然可以獨自完成 Tomcat 的 HTTPS 配置!
很多年以前,公司要做華夏銀行的接口對接,需要 HTTPS 訪問,大概花了 3000 塊買的證書,最后證書還有問題,HTTPS 也沒搞定。總之,坑的很!
FreeSSL.cn 有很大的不同,申請非常便捷,優點很多,值得推薦一波。畢竟再也不用郵件、電話各種聯系了(也許時代進步了)。
- 100% 永久免費;這要感謝 Let’s Encrypt 與 TrustAsia 提供的免費 SSL 證書。
- 在 HTTPS 證書到期前,FreeSSL.cn 會及時地提醒更換證書,免費的服務。
- 私鑰不在網絡中傳播,確保 HTTPS 證書的安全。
02、使用 FreeSSL 申請證書
第一步,填寫域名,點擊「創建免費的 SSL 證書」
第二步,填寫郵箱,點擊「創建」
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 的話,安裝的時候要選擇“以管理員身份運行”。
瀏覽器生成:在瀏覽器支持 Web Cryptography 的情況下,會使用瀏覽器根據用戶的信息生成 CSR 文件。
Web Cryptography,網絡密碼學,用于在 Web 應用程序中執行基本加密操作的 JAVAScript API。很多瀏覽器并不支持
我有 CSR:可以粘貼自己的 CSR,然后創建。
第三步,選擇離線生成,打開 KeyManager
填寫密碼后點擊「開始」,稍等片刻,出現如下界面。
第四步,返回瀏覽器,點擊「下一步」,出現如下界面。
第五步,下載文件,并上傳至服務器指定目錄下。
第六步,點擊「驗證」,通過后,出現以下界面。
第七步,點擊「保存到KeyManager」,可以看到證書狀態變成了已頒發。
03、為 Tomcat 配置 jks 格式證書
第一步,導出證書。假如服務器選擇的 Tomcat,需要導出 Java keystone (簡拼為 jks)格式的證書。
注意:私鑰的密碼在配置 Tomcat 的時候用到。
第二步,上傳證書至服務器。
第三步,配置%20Tomcat%20的%20server.xml。
%20<Connector%20port="81"%20protocol="HTTP/1.1"%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20maxThreads="250"%20maxHttpHeaderSize="8192"%20acceptCount="100"%20connectionTimeout="60000"%20keepAliveTimeout="200000"%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20redirectPort="8443"%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20useBodyEncodingForURI="true"%20URIEncoding="UTF-8"%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20compression="on"%20compressionMinSize="2048"%20noCompressionUserAgents="gozilla,%20traviata"%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20compressableMimeType="text/html,text/xml,Application/xml,application/json,text/JavaScript,application/javascript,text/css,text/plain,text/json,image/png,image/gif"/><Connector%20%20protocol="org.Apache.coyote.http11.Http11NioProtocol"%20%20port="443"%20maxThreads="200"%20%20scheme="https"%20secure="true"%20SSLEnabled="true"%20%20keystoreFile="/home/backup/qingmiaokeji.cn.jks"%20keystorePass="Chenmo"%20%20clientAuth="false"%20sslProtocol="TLS"useBodyEncodingForURI="true"%20URIEncoding="UTF-8"%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20compression="on"%20compressionMinSize="2048"%20noCompressionUserAgents="gozilla,%20traviata"%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20compressableMimeType="text/html,text/xml,application/xml,application/json,text/javascript,application/javascript,text/css,text/plain,text/json,image/png,image/gif"/>
其中%20keystorePass%20為導出證書時私鑰的加密密碼。
第四步,重啟%20Tomcat,并在瀏覽器地址欄中輸入%20https://itwanger.cn/%20進行測試。
注意到沒,瀏覽器地址欄前面有一個綠色的安全鎖,這說明 HTTPS 配置成功了!好了,為自己鼓個掌!
04、最后
你有沒有買個五分鐘的時間沙漏?如果超過五分鐘 HTTPS 還沒有配置成功,你過來揍我!