OpenSSL 指令將 .cer 轉成 .crt 憑證檔案教學

luca bravo 720

前些時候接到一個公機關的主機維護案,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.crt
Nginx

將 DER 格式的 CER 轉成 CRT

cer 是 Windows IIS 上使用的格式,如在 Linux nginx 系統上,要轉換成 crt。

如果 .cer 是 DER 二進位格式,可以使用以下 openssl 指令轉成 PEM 格式的 .crt

openssl x509 -in server.cer -out server2.crt -inform DER
Nginx

轉換完成後,可以用以下指令檢查:

openssl x509 -in domain.crt -text -noout
Nginx

參考資料:

https://ssorc.tw/7142/openssl-command-line-convert-file-for-pem-der-p7b-pfx-cer/

hosted by kinsta

Photo by Markus Spiske on Unsplash

Image

Sign up for free content.

我也不喜歡郵件垃圾,隨時可已取消訂閱。

Comments

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *