pvk2pfx不允许我创建一个带有空私钥密码的pfx文件

时间:2014-09-25 13:52:43

标签: pfx signtool

我们使用openssl创建了证书请求和私钥,如下所示

req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key

我们发送了CSR,经过验证后,我们找回了spc文件。现在我想用signtool签署我的代码。显然,我需要生成一个结合了spc和私钥的pfx文件,所以我调用

pvk2pfx.exe -pvk file.pvk -spc file.spc -pfx cert.pfx

此程序要求输入密码,但我们从未在私钥上设置密码。我们只是按了回车。如果我们尝试在对话框中按Enter键,我们就会

ERROR: Password incorrect.
(Error Code = 0x80070056)

如果我们尝试任何其他文字,我们会得到

ERROR: Bad file format.
(Error Code = 0x8007000b)

我也尝试过使用signtool和向导,它显然接受了spc和pvk的分离。当我指定私钥(来自磁盘,CSP:Microsoft强大的加密提供程序,提供程序类型RSA Full)时,我得到了

The signing certificate and private key do not match 
or do not contain valid information.

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

问题在于,显然你从openssl获得的.key和signtool和pkv2pfx所需的.pkv是不一样的。您必须使用此pvk实用程序从openssl输出转换.key。它使用起来很简单,并生成微软工具所需的pvk文件。

答案 1 :(得分:0)

我在使用 pvk2pfx 时遇到“错误的文件格式”错误时遇到了这个问题,并且接受的答案的死链接没有让我进步。

因此,假设这里的最终目标是以 pfx 结束,无论用于实现此目的的特定工具如何,我都使用了 OpenSSL:

  1. https://slproweb.com/products/Win32OpenSSL.html 下载安装程序
  2. 安装 Open SSL
  3. 打开 Win64 Open SSL 命令提示符
  4. 运行以下命令:E:\Path\To\Cert\> openssl pkcs12 -export -out MyOutput.pfx -inkey MyPrivateKey.pvk -in MyCertificate.cer

这将使用 MyPrivateKey.pvk 和 MyCertificate.cer 文件并生成一个 MyOutput.pfx 文件。

希望这能帮助其他迷失的灵魂。