2017-03-07

[2019-07-27修正]將 IIS 產生的 pfx 匯出成私鑰和發行憑證兩個檔案出來

最近與中華電信申請了萬用網域的憑證

一開始的請求檔是利用 iis 所發出的要求…但因為是萬用網域,所以若要將憑證用於其他服務時,有的會要分成私鑰與發行憑證出來,發行憑證在申請完後就會給了,但私鑰怎麼從 iis 匯出來?


  1. 先讓 iis 匯出 pfx 檔案,可以參照中華電信的說明,不過 iis6 特別要注意的是在匯出時要勾選「匯出私密金鑰」
  2. 下載 windows 版的 openssl 
  3. 指令(都要輸入第一步驟時的密碼)
    1. 匯出 full 資訊:<path>\openssl.exe pkcs12 -in <pfx-file.pfx> -out full.txt -nodes
    2. 匯出私鑰:<path>\openssl.exe pkcs12 -in <pfx-file.pfx> -out key.txt -nodes -nocerts
    3. 匯出發行憑證:<path>\openssl.exe pkcs12 -in <pfx-file.pfx> -out cert.txt -nodes -nokeys
(2019-07-27 註:抱歉,看到留言的悠遊龍老師再看這篇才發現原來之前把私鑰和發行憑證的匯出指令寫反了,目前上面已修改…想想,-nokeys 指的就是不要私鑰,所以只剩發行憑證;-nocerts 就是不要發行憑證,那就剩私鑰了…真是抱歉,過了兩年才因為留言發現,感謝悠遊龍老師的提醒)

如果要合成為 pfx 咧?


<path>\openssl.exe pkcs12 -export -out new.pfx -inkey key.txt -in cert.txt -certfile <rootca.crt>

2 則留言:

悠遊龍 提到...

匯出私鑰:\openssl.exe pkcs12 -in -out key.txt -nodes -nocerts
匯出發行憑證:\openssl.exe pkcs12 -in -out cert.txt -nodes -nokeys

死狐狸 提到...

感謝提醒,沒想到我會把兩個寫反了,已經修正

再次感謝