了解将 .pem 文件转换为 .pfx 的 OpenSSL 步骤 [关闭]

Posted

技术标签:

【中文标题】了解将 .pem 文件转换为 .pfx 的 OpenSSL 步骤 [关闭]【英文标题】:Understanding OpenSSL Steps for Converting .pem file to .pfx [closed] 【发布时间】:2014-04-30 19:18:35 【问题描述】:

我正在使用 Cros-s-rider 开发一个插件,并且需要一个代码签名证书作为该过程的一部分。为此,我采取了以下措施

    按照 GoDaddy 的说明生成 CSR,如图所示 here

    将 CSR 和私钥发送给客户并要求他们购买他们所做的 CSC

    客户从 GoDaddy 向我发送了 .pem 和 .spc 文件

    我使用 OpenSSL 将 .pem 文件转换为 Cros-s-rider 所需的 .pfx

    OpenSSL> pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.pem

    当 OpenSSL 要求我“输入导出密码”时,我使用了与生成 CSR 时相同的密码。

    我将 .pfx 文件上传到 Cros-s-rider 并再次提供了相同的密码

Cros-s-rider 说文件或密码无效。我在上述步骤中是否犯了任何错误或遗漏了什么?

更新:太平洋标准时间 04/30 4:45

来自 GoDaddy 的 .pem 文件已经显示了四个 -----BEGIN CERTIFICATE----------END CERTIFICATE----- 组,所以看起来他们进行了链接?我能够将我生成的 .pfx 文件导入到 OSX 上的 KeyChain Access 中,它会显示我们的公司名称,并由 GoDaddy 发布,其中包含所有详细信息。

当我运行 openssl 验证这是我得到的...

OpenSSL> verify certificate.pem 
certificate.pem: /C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority
error 18 at 0 depth lookup:self signed certificate
OK

我很迷茫,所以请提供任何建议。我可以发布任何信息来帮助解决。

【问题讨论】:

Adding an intermediate certificates to a pkcs12 file的可能重复 您似乎缺少颁发证书的 CA 的中间体。在创建 PFX|P12 文件之前,您必须手动将它们添加到 certificate.pem @jww - 感谢您的回复。我刚刚阅读了您的链接帖子,并正在尝试消化信息。我用更多信息修改了我的问题,可能会提供更多见解。 要解决 OpenSSL 问题:从 GoDaddy CA Repository 下载适当的 CA(Go Daddy Class 2 证书颁发机构)。然后发出openssl verify certificate.pem -CAFile <xxx>,其中<xxx> 是您下载的CA。你应该得到类似于Verify return code: 0 (Ok) 的东西。如果一切正常,请在上传前尝试从PFX|P12 文件中删除密码。无论如何,密码都是有争议的,因为它已上传到服务器并可能存储在文件系统中。 @jww – 我怎么知道要下载哪一个?我尝试了两个似乎适用的根证书 gd-class2-root.crt 和 gdroot-g2.crt 但是当我将它们指定为 CAFile 时它们都抛出错误:Error opening certificate file -CAFile 【参考方案1】:

这是 Cros-s-rider 的问题,而不是 .pfx 文件的 OpenSSL 生成问题。昨晚我将问题发布到他们的支持委员会,他们回复说他们的开发团队看了看并要求我再试一次。我上传了它,它成功了。

【讨论】:

如前所述,CSC 上传机制存在问题,现已解决。 @ThinkCL,感谢您报告问题并为给您带来的不便深表歉意 [披露:我是 Cros-s-rider 员工]

以上是关于了解将 .pem 文件转换为 .pfx 的 OpenSSL 步骤 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

将CERT / PEM证书转换为PFX证书

使用 OpenSSL 以编程方式将 .PEM 证书转换为 .PFX

sh 将PEM证书转换为PFX

[证书] OPENSSL将PFX证书转换为PEM格式

text 如何将.pfx SSL证书转换为.crt / key(pem)格式。对NGINX很有用

将.crt、.cer、.pfx、.p7b、.der的ssl证书转换成.pem格式