去freessl.org申請免費ssl服務器證書
來源: 本文鏈接 來自osnosn的博客
寫於: 2019-03-30.
- 想搞個自簽名證書,可以參考這篇: **用openssl為WEB服務器生成證書(自簽名CA證書,服務器證書) **
以下是正文。
訪問 freessl.org
,它會跳到 freessl.cn
,這兩站是一樣的:
填入你要申請的域名,比如test.org
,選擇一個免費產品。(我為了偷懶,選了個最長的,一年)
填入你的郵箱,似乎沒什么用。我猜,可能快到期了,會發封郵件提醒你吧。
選擇證書類型:
- RSA,傳統算法。優點,支持好,老的客戶端也支持。缺點,2048以下的都不算安全。密鑰比較大,加密計算慢點(對比ECC)。
- ECC,新算法,橢圓曲線。優點,密鑰小,計算快。缺點,老客戶端可能不支持。不過這年頭,沒什么老客戶端了。
選擇驗證類型:
- DNS,要把驗證字符串,寫入指定域名的TXT記錄。
- 文件驗證,把驗證字符串,寫入你的web服務器的,指定的路徑的,文件中。
CSR生成:
- 離線生成,你的瀏覽器需要裝個插件(KeyManager 1.2.14以上版本),我沒裝,所以沒用過。
- 瀏覽器生成,edge,chrome,safari,ie11,都支持。唯獨Firefox不支持。其他版本的ie,我不知道。但ie6肯定不支持。
- 我有CSR,自己用openssl生成一個證書請求,上傳給它。這個請求有什么要求,不清楚,沒試過。
"點擊創建",不會跳出新頁面。下拉當前頁面,在底下。
如果你選擇DNS驗證,就是這個頁面。
就是給域名 _dnsauth.test.org
創建一個TXT記錄。
用linux命令 dig _dnsauth.test.org txt
能顯示那個驗證字符串。
如何設置DNS的TXT記錄,可以參考別人的文章
配置好TXT記錄之后,可能生效需要一點時間(好幾分鍾)。不要着急點中間的"點擊驗證",先點頁面右下角的"配置完成,檢測一下"
因為,"檢測一下" 可以多次檢測。中間的"點擊驗證" 失敗的話,似乎又要重頭搞一遍。
驗證結果,不需要全綠,只要有一個綠的(匹配),你就可以去點之前那個頁面中間的"點擊驗證",生成證書了。
如果你選擇文件驗證,就是這個頁面。
去你的網站,按照要求建立目錄,文件,然后把驗證字符串寫入文件fileauth.txt
中。
圖片中的例子中,文件路徑是 /.well-known/pki-validation/fileauth.txt
,第一個目錄是點
開頭。
你的網站可以是運行在80口(http),
也可以是運行在443口(https),先自己搞個自簽名證書用着 ,不影響驗證。
網站運行在其他非標准端口的,驗證不支持。
驗證前,可以自己用瀏覽器訪問一下,看能否成功。
同樣,"檢測一下"的頁面,只要有一行綠的(匹配),就OK。你就可以去點擊"點擊驗證",去生成證書了。
最終,你會得到三個內容(PEM格式),CA證書,服務器證書,服務器密鑰。
你可以把它們分別保存為三個文本文件: ca.pem
, server.pem
, private.key
。
"下載證書" 會得到一個 full_chain.pem
,其實就是 server.pem+ca.pem,server在上(前),ca在下(后)。
如需要,參考以下證書格式轉換的指令:
查看/打印 pem 證書
openssl x509 -in ca.pem -text -noout
openssl x509 -in server.pem -text -noout
把 pem 轉為 der 格式,(證書,密鑰)
openssl x509 -outform der -in server.pem -out server.cer
服務器證書。
openssl rsa -in private.key -outform der -out server_key.cer
服務器密鑰。
把 pem 轉為 P12 格式(pfx),(證書,密鑰),友好名稱不支持utf8中文
openssl pkcs12 -export -out server.p12 -inkey private.key -in serverpem -certfile ca.pem -caname"ca friendly name" -name "friendly name"
把 p12 轉 jks,
用java的 keytool 工具轉換/導入
把 pem 轉 pkcs#7 格式,(證書)
openssl crl2pkcs7 -nocrl -certfile server_cert.pem -out server.p7b
至於怎么配置到你的web站上(apache,nginx,iis,tomcat,...),不在本文范圍。請自行搜索。
freessl.org
官網上有"常見問題"的鏈接,各種說明比較詳細。
如果你的證書暫時不能成功驗證,可以登陸之后找到未驗證成功的訂單。
其中TrustAsia的訂單有效期為1天,Let‘s Encrypt的訂單有效期為30分鍾。
轉載請注明來源。
來源: 本文鏈接 來自osnosn的博客
-------------end----------------