當前位置: 首頁 >> web 技術 >> OpenSSL 將 .pfx 轉換成 .pem >> 正文

OpenSSL 將 .pfx 轉換成 .pem

2024-01-31     分類:web 技術     閱讀次數:112     評論(0)    

OpenSSL 將 .pfx 轉換成 .pem,本來以為幾個指令能解決,沒想到還是踩了坑。在此紀錄一下。


OpenSSL 可以使用3.2最新版,以下URL可下載:

https://slproweb.com/products/Win32OpenSSL.html


在Windows下,執行openssl 內的start.bat


單純使用以下指令是會出錯的, Error outputting keys and certificates

openssl pkcs12 -in filename.pfx -nocerts -out key.pem

必須另外指定legacy模式,也就是  -legacy -provider-path "/path/to/legacy_library/dir" -provider default,其中的"/path/to/legacy_library/dir",指的是legacy的路徑,一般也在openssl\bin內。


還有,也有需求指定.pem檔案不加密,不產生密碼。指令開關為 -nodes,也就是 no DES 的意思。我使用nignx讀取,不想設定密碼。


完整範例如下:

openssl pkcs12 -in filename.pfx -nocerts -nodes -out key.pem -legacy -provider-path "c:\Program Files\OpenSSL-Win64\bin" -provider default

公鑰轉換範例:

openssl pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem


有時還會出現另一種報錯,Mac verify error,這是製作.pfx時出現的空白密碼等不明因素,可以再使用指令開關 -passin pass: 略過。

範例如下:

openssl pkcs12 -in filename.pfx  -nocerts -nodes -passin pass: -out key.pem -legacy -provider-path "c:\Program Files\OpenSSL-Win64\bin" -provider default


轉載請註明出處為「本文轉載於『油拉林』原地址: http://blog.hiastro.com.tw/webtechs/OpenSSL_legacy_pfx_pem_nginx

評論

發表評論   

暱稱*

E-mail*(建議輸入,以便收到博主回復的提示郵件)

網站

驗證碼*