前些時候接到一個公機關的主機維護案,SSL 證書不可用免費和外面購買的證書,指定需安裝公機關核發的 SSL 證書。
混亂的證書文件 pem、crt、cer,都是 SSL 證書文件,應該很少機會遇到這種案子了,記錄一下。
.cer 和 .crt 有什麼差別 ?
在 SSL 憑證中,`.cer` 和 `.crt` 很多時候只是副檔名不同,實際內容可能都是 X.509 憑證。
常見情況有兩種:
1. PEM 格式
內容會是文字格式,通常可以用文字編輯器打開,並看到:
—–BEGIN CERTIFICATE—–
…
—–END CERTIFICATE—–
2. DER 格式
內容是二進位格式,用文字編輯器打開會看到亂碼。
所以「將 cer 轉成 crt」不一定只是改副檔名,重點是要先確認 .cer 檔案本身是 PEM 還是 DER 格式。PEM 格式直接改副檔名
CER 本身就是 PEM 格式
如果你的 `.cer` 檔案打開後可以看到:
—–BEGIN CERTIFICATE—–
…
—–END CERTIFICATE—–
那代表它已經是 PEM 格式。
這種情況通常不需要真正轉檔,只要改副檔名即可:
cp domain.cer domain.crtNginx將 DER 格式的 CER 轉成 CRT
cer 是 Windows IIS 上使用的格式,如在 Linux nginx 系統上,要轉換成 crt。
如果 .cer 是 DER 二進位格式,可以使用以下 openssl 指令轉成 PEM 格式的 .crt:
openssl x509 -in server.cer -out server2.crt -inform DERNginx轉換完成後,可以用以下指令檢查:
openssl x509 -in domain.crt -text -nooutNginx參考資料:
https://ssorc.tw/7142/openssl-command-line-convert-file-for-pem-der-p7b-pfx-cer/

Photo by Markus Spiske on Unsplash


發佈留言