我在 Windows 7 上安装了 OpenSSL x64,这是我从 openssl-for-windows on Google Code 下载的.我正在尝试运行:
openssl pkcs12 -export -in "path.p12" -out "newfile.pem"
但是我得到一个错误。
unable to load private key
如何使用 OpenSSL 从 PKCS#12 存储中提取 PEM 中的证书?
最佳答案
尝试:
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 中的私钥
要将证书和 key 放在没有密码的同一个文件中,请使用以下内容,因为空密码将导致 key 无法导出:
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'
关于openssl - 使用 OpenSSL 将 PKCS#12 证书转换为 PEM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59119444/