证书问题:来自 P7B 和 CRT 的 KEY 或 PFX

Posted

技术标签:

【中文标题】证书问题:来自 P7B 和 CRT 的 KEY 或 PFX【英文标题】:Certificate issue: KEY or PFX from P7B and CRT 【发布时间】:2013-01-17 01:52:43 【问题描述】:

我是证书新手,这是我第一次购买。

我生成了 CSR 文件(在 IIS 中)并使用 GoDaddy 网站购买了证书。他们给我发了两个文件:P7B 和 CRT。由于我将使用 Azure Web 角色的证书,因此我需要 PFX。如何仅使用 CSR、P7B 和 CRT 创建它?

【问题讨论】:

你不能。密钥是在 IIS 中生成的,它没有离开您的系统。密钥仍然驻留在 IIS 存储它的地方。您需要阅读有关整个过程的文档,以了解如何立即获取您的密钥和/或将其与证书(在 CRT 文件中)合并以获得可用的东西。 【参考方案1】:

最后我设法做到了。在 IIS 中,我选择了 Complete Certificate Request,安装了 CRT 证书,然后使用 Export 选项将其另存为 PFX。

【讨论】:

你指的是什么 IIS? 在我创建认证请求的工作站上。 谢谢,也搞定了。必须在发出请求的机器上完成。 什么导出选项?【参考方案2】:

您可以关注steps provided on the support for installing SSL certificate.

摘自上述链接。

重要提示:要以 .pfx 格式导出证书,您需要在您请求证书的同一台机器上按照步骤操作。

【讨论】:

【参考方案3】:

由于我将使用 Azure Web 角色的证书,我需要 PFX

虽然我的目标服务器是 Nancy,但我发布答案是因为它与生成 PFX 证书的过程相关。

基于 Nancy 的项目需要受信任的证书。我找到了使用 PFX 证书 Enabling SSL for Self Hosted Nancy 设置自签名的程序,但如何继续使用 GoDaddy 证书并不明显。挖掘了一下,我在一个商业 SSL 站点找到了答案。

所以我使用 OpenSSL 创建了 CSR,从 GoDaddy 订购并获取了我的证书包,然后也使用 OpenSSL 生成了 PFX,如下所述。

作为 Nancy 的旁注,我使用以下方法在本地安装了 PFX

c:> certutil -importPFX certname.pfx

这里描述@https://***.com/a/33351095/241296

也许可以完全绕过本地 IIS 以满足 Azure PFX 要求。


Create a .pfx/.p12 certificate file using OpenSSL@ssl.com

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile more.crt

分解命令:

openssl – 执行 OpenSSL 的命令 pkcs12 – OpenSSL 中 PKCS#12 文件的文件实用程序 -export -out certificate.pfx – 将 PFX 文件导出并保存为 certificate.pfx -inkey privateKey.key – 使用私钥文件privateKey.key作为私钥与证书结合。 -in certificate.crt – 使用 certificate.crt 作为私钥将与之组合的证书。 -certfile more.crt – 这是可选的,如果您想在 PFX 文件中包含任何其他证书。

我使用 -certfile 选项来指定 GoDaddy 包:

openssl pkcs12 -export -out my.pfx -inkey my.key -in my.crt -certfile gd_bundle-g2-g1.crt

【讨论】:

以上是关于证书问题:来自 P7B 和 CRT 的 KEY 或 PFX的主要内容,如果未能解决你的问题,请参考以下文章

HTTPS-p7b证书转换

sh Goddady SSL / TSL证书(P7B + CRT)到Azure PFX证书

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

证书格式转换

nodejs 与 expressjs 和 SSL p7b 证书

ssl证书 只有crt文件 但是使用时需要key或pem文件 请问如何转换