小编典典

使用 OpenSSL 将 PKCS#12 证书转换为 PEM

all

我在 Windows 7 上有 OpenSSL x64,它是从Google Code 上的 openssl-for-
windows
下载的。我正在尝试运行:

openssl pkcs12 -export -in "path.p12" -out "newfile.pem"

但我得到一个错误。

unable to load private key

如何使用 OpenSSL 从 PKCS#12 存储中提取 PEM 中的证书?


阅读 110

收藏
2022-04-29

共1个答案

小编典典

尝试:

openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys
openssl pkcs12 -in path.p12 -out newfile.key.pem -nocerts -nodes

之后你有:

  • newfile.crt.pem 中的证书
  • newfile.key.pem 中的私钥

要在没有密码的情况下将证书和密钥放在同一个文件中,请使用以下内容,因为空密码将导致无法导出密钥:

openssl pkcs12 -in path.p12 -out newfile.pem -nodes

或者,如果您想为私钥提供密码,请省略-nodes并输入密码:

openssl pkcs12 -in path.p12 -out newfile.pem

如果您需要直接从命令行(例如脚本)输入 PKCS#12 密码,只需添加-passin pass:${PASSWORD}

openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys -passin 'pass:P@s5w0rD'
2022-04-29