如何使用openssl从pfx文件中提取私钥?

40

我在寻找这个私钥,以便在Softlayer的“添加证书”向导中添加SSL证书并将其进一步与本地负载平衡器一起使用。

我尝试了以下OpenSSL命令:

openssl pkcs12 -in filename.pfx -nocerts -out key.pem

但是我最终得到了无效的“RSA私钥”。请帮助。

2个回答

61

您的命令是正确的,并以PKCS#8格式为您提供了加密的私钥。如果您需要未加密的私钥,只需添加-nodes选项:

openssl pkcs12 -in filename.pfx -nocerts -nodes -out key.pem

如果您需要使用旧的RSA格式私钥,您应该使用openssl pkcs8命令转换给定的密钥:
openssl pkcs8 -in key.pem -out rsakey.pem

请参阅文档以获取详细信息:

-1

在这个问题中,你可以检查两件事情:

  1. 请确保在您使用的OpenSSL命令中添加-nodes属性,以便提取的RSA私钥是未加密的。例如:

    pkcs12 -in certificate-name.pfx -nocerts -nodes -out private-key.pem
    
  2. 您可以从私钥中删除包和密钥属性行并尝试。

在我的博客上查看有关此问题的良好解释:如何从PFX证书文件中提取私钥


4
如果你正在链接到自己的网站,你需要明确表明。请参考如何不成为垃圾邮件发送者 - tripleee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接