37

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

我用谷歌搜索并尝试了以下 openssl 命令:

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

但我最终得到了无效的“RSA PRIVATE KEY”。请帮忙。

4

2 回答 2

56

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

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

如果您需要旧 RSA 格式的私钥,您应该使用以下openssl pkcs8命令转换给定的密钥:

openssl pkcs8 -in key.pem -out rsakey.pem

有关详细信息,请参阅文档:

于 2013-06-07T10:40:46.570 回答
0

您可以在此问题中检查两件事,

  1. 确保在您使用的 OpenSLL 命令中添加 -nodes 属性,因此提取的 RSA 私钥将是未加密的。例子,

    pkcs12 -in certificate-name.pfx -nocerts -nodes -out private-key.pem
    
  2. 您可以从 Private Key 中删除 bag 和 key 属性行并尝试一下。

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

于 2021-11-11T12:21:35.727 回答