我在Windows7上安装了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中的证书?
发布于 2013-07-24 04:21:26
您只需提供密码即可。您可以使用以下语法在相同的命令行中完成此操作:
openssl pkcs12 -export -in "path.p12" -out "newfile.pem" -passin pass:[password]
然后,系统将提示您输入密码以加密输出文件中的私钥。如果您想要导出未加密(明文)的私钥,请在上面一行中包含"nodes“选项:
openssl pkcs12 -export -in "path.p12" -out "newfile.pem" -passin pass:[password] -nodes
发布于 2014-02-03 05:08:12
如果你能使用Python,如果你有pyopenssl
模块,那就更容易了。这就是它:
from OpenSSL import crypto
# May require "" for empty password depending on version
with open("push.p12", "rb") as file:
p12 = crypto.load_pkcs12(file.read(), "my_passphrase")
# PEM formatted private key
print crypto.dump_privatekey(crypto.FILETYPE_PEM, p12.get_privatekey())
# PEM formatted certificate
print crypto.dump_certificate(crypto.FILETYPE_PEM, p12.get_certificate())
发布于 2016-09-15 20:55:22
我有一个PFX文件,需要为NGINX创建密钥文件,所以我这样做了:
openssl pkcs12 -in file.pfx -out file.key -nocerts -nodes
然后我不得不编辑密钥文件并删除-----BEGIN PRIVATE KEY-----
之前的所有内容。在那之后,NGINX接受了密钥文件。
https://stackoverflow.com/questions/15144046
复制相似问题