OpenSSL 將 .pfx 轉換成 .pem
2024-01-31 分類:web 技術 閱讀次數:446 評論(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」
評論
發表評論