製作憑證請求檔(CSR)

建立用於申請 SSL 憑證的請求檔案

目錄

注意事項

請確認主機 OpenSSL 的版本是否有受到 Heartbleed Bug 的影響,
可輸入以下指令來確認您 OpenSSL的版本。

1
openssl version

影響範圍:1.0.1 ~ 1.0.1f / 1.0.2-beta ~ 1.0.2-beta1
若有 Heartbleed Bug,建議先升級到修復版本

產生金鑰

密碼長度不建議低於 2048,目前 512 已有被破解的紀錄  

⚠️ 注意,請於空的資料夾執行,避免原本的 Key 被覆蓋 (有的話)

1
openssl genrsa -aes256 -out server.key 2048

執行過程會要求您輸入密碼 (Enter PEM pass phrase),
及二次驗證密碼 (Verifying - Enter PEM pass phrase)

⚠️ 注意:請牢記此密碼!
⚠️ 注意:server.key 請妥善保存,不需要給任何人 (包含憑證商)

產生請求檔

1
openssl req -new -key server.key -out certreq.csr

輸入以下資料

Country Name:TW (二字元國碼)
State or Province Name:  (台灣不需輸入,可按 enter 鍵略過)
Locality Name:New Taipei (城市)
Organization Name:您公司或組織名稱
Organizational Unit Name: 部門名稱 (例如: IT)
Common name:要申請憑證的網域 (不帶 http(s):// )
Email address:電子信箱, 可輸入也可略過
challenge password:  (按 enter 鍵略過)
optional company name:  (按 enter 鍵略過)

接著輸入密碼後,目錄內會有一個 certreq.csr,這就是請求檔了!

移除金鑰密碼

1
openssl rsa -in server.key -out server_without_pw.key

得到的 server_without_pw.key,可以讓 apache 在啟動時不需要輸入金鑰密碼,請小心使用

PEM 和 DER 和 PFX 之間轉換

上述產生的 key 即為 PEM 格式

PEM to PFX

常用於將 Linux 上的憑證轉給 IIS 使用,需同時輸入憑證及對應的 key

1
2
3
4
openssl pkcs12 -in=domain.pem -inkey=key.pem -export -out=domain.pfx

#或者要將額外的憑證加入PFX(例如中繼憑證)
openssl pkcs12 -in=domain.pem -inkey=key.pem -export -out=domain.pfx -certfile CACert.crt

若 PFX 檔匯入 IIS 時出現 "指定的網路密碼錯誤",請將 openssl 版本降至 1.x.x

PFX to PEM

常用於將 IIS 上的憑證轉給 Linux 使用,需輸入 IIS 匯出憑證時設定的密碼(有的話)

1
openssl pkcs12 -in=domain.pfx -out=key.pem -nodes

PEM to DER

1
openssl x509 -inform PEM -in file.pem -outform DER -out file.der

DER to PEM

1
openssl x509 -inform DER -in file.der -outform PEM -out file.pem

PVK to PEM

PVK (Microsoft PrivateKey Blob)

1
openssl rsa -in "file.pvk" -inform PVK -out file.key -outform PEM

參考資料

如需轉載引用需保留原始連結及作者姓名,並以相同方式分享。CC BY-SA 4.0  
最後更新 2024/08/12 15:13 +0800
瀏覽次數
本站總訪問量
使用 Hugo 建立
主題 StackJimmy 設計