如何使用openssl从pfx文件中提取私钥? [已关闭]

问题描述 投票:0回答:2

我想使用 PowerShell 提取 SSL 证书的私钥。

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

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

但是我必须手动输入密码,最终得到无效的“RSA PRIVATE KEY”。 如何获取未加密的密钥并将密码传递给 OpenSSL?

powershell openssl private-key pkcs#12
2个回答
69
投票

您的命令是正确的,并为您提供 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. 确保在您使用的 OpenSLL 命令中添加 -nodes 属性,这样提取的 RSA 私钥将是未加密的。例如,

    pkcs12 -in certificate-name.pfx -nocerts -nodes -out private-key.pem
    
  2. 您可以将Private Key中的bag和key属性行去掉试试。

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

© www.soinside.com 2019 - 2024. All rights reserved.