2016-03-23 163 views
0

我試圖將通配符SSL證書轉換爲PEM格式,因此我可以在Amazon的Cloudfront中使用它。唯一可用的文件格式是pfx。我試着用下面的命令:將PFX轉換爲PEM,錯誤「無法加載證書」

從PFX提取私鑰

openssl pkcs12 -in {site}.pfx -nocerts -nodes -passin pass:{password} | openssl rsa -out {site}.key 

從PFX提取公鑰

openssl pkcs12 –in {site}.pfx -clcerts -nokeys -passin pass:{password} | openssl x509 -out {site}.cer 

提取從鏈條包PFX

openssl pkcs12 -in {site}.pfx -nodes -nokeys -cacerts -passin pass:{password} | openssl x509 -out bundle.crt 

前兩個命令運行沒有任何問題,但最後一個是返回以下:

MAC verified OK 
unable to load certificate 
17856:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_lib.c:701:Expecting: TRUSTED CERTIFICATE 

任何幫助將不勝感激!

+0

如果(且僅當)PFX包含*僅*服務器證書和*否* CA證書時,您應該得到該錯誤。執行'openssl pkcs12 -in whatever.pfx -nokeys'並查看顯示了多少個BEGIN CERTIFICATE/END CERTIFICATE塊以及每個塊的名稱(subject和issuer)。 PS:'-nodes'沒有用處,用'-nokeys'忽略;如果/當有多個CA證書時,通過'openssl x509'的管道系統會丟棄除第一個以外的所有可能無用的結果。 –

+0

Stack Overflow是編程和開發問題的網站。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。另請參閱[我在哪裏發佈有關Dev Ops的問題?](http://meta.stackexchange.com/q/134306)。 – jww

回答

相關問題