簡體   English   中英

如何以命令方式分別從PEM文件中獲取僅證書部分和私鑰部分?

[英]How to get the certificate part only and the private key part only respectively from PEM file in the command way?

將包含私鑰和證書的PKCS#12文件(.pfx .p12)轉換為PEM,例如:

openssl pkcs12 -in cert_and_pvt_key.pfx -out cert_and_pvt_key.pem

然后我有一個同時帶有證書和私鑰的PEM文件,現在,我想分別獲取證書文件和私鑰文件,是的,我知道cert_and_pvt_key.pem是文本格式,我們可以復制密鑰部分和證書部分喜歡,但是,這不是很優雅,我想要一些復雜的東西,例如openssl pkcs12 ,有什么可用的嗎?

您可以使用-nocerts-nokeys選項將openssl pkcs12僅輸出所需的部分。 依次運行openssl pkcs12

openssl pkcs12 -in cert_and_pvt_key.pfx -nokeys -out cert.pem

然后:

openssl pkcs12 -in cert_and_pvt_key.pfx -nocerts -out pvt_key.pem

如果您沒有訪問原始PKCS#12文件的權限,那么它將變得有些困難。 以下應該工作:

openssl pkcs12 -export -in cert_and_pvt_key.pem | openssl pkcs12 -nokeys -out cert.pem

和:

openssl pkcs12 -export -in cert_and_pvt_key.pem | openssl pkcs12 -nocerts -out pvt_key.pem

但是,這在創建PKCS#12時以及在嘗試將文件拆分為證書和密鑰時再次要求輸入密碼。 OpenSSL提供了-nodes動詞來禁用此密碼,但它似乎不適用於-export 因此,它將在腳本中失敗。

否則,您將不得不使用awk或類似文件分割文件。 此站點上有很多示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM