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

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

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

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

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

  4. 我使用 OpenSSL 将 .pem 文件转换为 Crossrider 所需的 .pfx

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

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

  6. 我将 .pfx 文件上传到 Crossrider 并再次提供了相同的密码

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

更新:太平洋标准时间 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

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

【问题讨论】:

  • 您似乎缺少颁发证书的 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

标签: openssl pem pfx crossrider code-signing-certificate


【解决方案1】:

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

【讨论】:

  • 如前所述,CSC 上传机制存在问题,现已解决。 @ThinkCL,感谢您报告问题并为给您带来的不便深表歉意 [披露:我是 Crossrider 员工]
猜你喜欢
  • 2023-03-20
  • 2017-01-27
  • 1970-01-01
  • 2019-08-06
  • 2012-08-13
  • 2015-01-30
  • 2020-10-30
  • 2011-03-07
  • 2019-07-05
相关资源
最近更新 更多