首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用OpenSSL实现PKCS#12证书到PEM的转换

用OpenSSL实现PKCS#12证书到PEM的转换
EN

Stack Overflow用户
提问于 2013-03-01 03:30:22
回答 5查看 401.4K关注 0票数 273

我在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中的证书?

EN

回答 5

Stack Overflow用户

发布于 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

更多信息:http://www.openssl.org/docs/apps/pkcs12.html

票数 23
EN

Stack Overflow用户

发布于 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())
票数 20
EN

Stack Overflow用户

发布于 2016-09-15 20:55:22

我有一个PFX文件,需要为NGINX创建密钥文件,所以我这样做了:

openssl pkcs12 -in file.pfx -out file.key -nocerts -nodes

然后我不得不编辑密钥文件并删除-----BEGIN PRIVATE KEY-----之前的所有内容。在那之后,NGINX接受了密钥文件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15144046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档