[SSL證書].pfx格式和.Cer格式的區別以及格式互相轉換

天府雲創發表於2018-06-25

現在很多網站都是用了ssl加密的https訪問,而且現在網站不使用cdn的話簡直是裸奔,但是目前使用者最多的360網站衛士和騰訊雲提供的免費配置ssl證照支援https訪問功能都採取不一樣格式的ssl證照。下面介紹一下支援線上轉換證照格式的工具。(吐槽百度雲加速不提供免費證照!)


作為檔案形式存在的證照一般有這幾種格式:

  1.帶有私鑰的證照

  由Public Key Cryptography Standards #12,PKCS#12標準定義,包含了公鑰和私鑰的二進位制格式的證照形式,以pfx作為證照檔案字尾名。

  2.二進位制編碼的證照

  證照中沒有私鑰,DER 編碼二進位制格式的證照檔案,以cer作為證照檔案字尾名。

  3.Base64編碼的證照

證照中沒有私鑰,BASE64 編碼格式的證照檔案,也是以cer作為證照檔案字尾名。

由定義可以看出,只有pfx格式的數字證照是包含有私鑰的,cer格式的數字證照裡面只有公鑰沒有私鑰。

  在pfx證照的匯入過程中有一項是“標誌此金鑰是可匯出的。這將您在稍候備份或傳輸金鑰”。一般是不選中的,如果選中,別人就有機會備份你的金鑰了。如果是不選中,其實金鑰也匯入了,只是不能再次被匯出。這就保證了金鑰的安全。

  如果匯入過程中沒有選中這一項,做證照備份時“匯出私鑰”這一項是灰色的,不能選。只能匯出cer格式的公鑰。如果匯入時選中該項,則在匯出時“匯出私鑰”這一項就是可選的。

  如果要匯出私鑰(pfx),是需要輸入密碼的,這個密碼就是對私鑰再次加密,這樣就保證了私鑰的安全,別人即使拿到了你的證照備份(pfx),不知道加密私鑰的密碼,也是無法匯入證照的。相反,如果只是匯入匯出cer格式的證照,是不會提示你輸入密碼的。因為公鑰一般來說是對外公開的,不用加密。

【那麼問題來了?】

比如360網站cdn裡面支援上傳crt格式和key格式證照檔案,而騰訊雲支援的是pem格式哦ssl證照和key私鑰檔案內容上傳。這就是很多朋友需要自行轉換自己的ssl證照格式才行。而很多windows IIS 伺服器的不支援線上cert證照的的直接匯入需要pxf格式。

最為常見的是iis主機使用的pfx格式證照和nginx使用的crt格式需要轉換。如果你不會使用linux下的命令語句,那就需要此工具了。

ssl證照轉換

ssl證照轉換


如上圖,可以自行選擇上傳證照,選擇輸出證照格式,就可以轉換了。

  Apache使用的SSL證照是.crt格式,如果你的網站從Apache換到了windows主機的iis上,這個時候要將原來的證照放到iis上使用,是不能夠直接使用這個證照的,你首先要將.crt格式的證照轉換成.pfx格式,這個可以通過一句命令在Linux主機上完成轉換

openssl pkcs12 -export -out ssl2_me.pfx -inkey ssl2_me.key -in ssl2_me.crt (前提安裝了OpenSSL)

執行命令後,將會提示你輸入兩次相同的密碼,你可以設定一個密碼,你在iis上匯入證照的時候將會用到。

上面命令中的ssl2_me.crt 替換成你自己的證照檔名, ssl2_me.key替換成你自己的key檔名,ssl2_me.pfx替換成你自己的pfx證照名。

SSL證照格式線上轉換工具。如還沒有OpenSSL工具 For Windows,可以點選下載

還有另外一個方法線上轉換crt格式 to pfx格式 

https://ssl4less.eu/ssl-tools/convert-certificate.html

【附錄:線上SSL證照格式轉換工具】

1、工具地址:https://www.sslshopper.com/ssl-converter.html

2、SSL證照格式轉換工具-中國數字證照CHINASSL https://www.chinassl.net/ssltools/convert-ssl.html

3、轉換PEM證照格式到PFX證照格式操作指南 - 轉換PEM格式證照到PFX格式證照操作指南 - 中國數字證照CHINASSL https://www.chinassl.net/?f=ssl_pem_pfx

源格式選擇【PEM】, 目標格式選擇【PFX】, 證照檔案選擇【domain.crt】,即SSL證照檔案, 私鑰檔案選擇【key.txt】,即私鑰Private Key, PFX格式密碼【輸入密碼,非常重要】, 根證照檔案選擇【ca.crt】,即CA證照檔案, 以上資訊確認無誤點選【轉換證照格式】按鈕

相關文章