如何将 .crt 证书文件转换为 .pfx

Posted

技术标签:

【中文标题】如何将 .crt 证书文件转换为 .pfx【英文标题】:How to convert .crt cetificate file to .pfx 【发布时间】:2012-04-15 19:41:14 【问题描述】:

我想将从证书提供商收到的“.crt”证书安装到我的 IIS 7.5 服务器。 我曾多次尝试通过单击“证书”来安装 .crt 文件,它表明它已正确安装。所以我打开 IIS,选择“我的服务器”,打开右侧菜单中可用的“服务器证书”,点击“完成证书请求”,选择我电脑上的 .crt 证书,然后点击确定。但是,当我刷新 IIS 时,证书会自动消失。

我们的托管服务提供商提到我需要使用我没有的“.pfx”文件。

【问题讨论】:

【参考方案1】:

我已经通过使用以下方法将此.crt 文件转换为.pfx 文件解决了这个问题。

要将.crt 转换为.pfx,我们需要托管服务提供商提供的 CSA 证书(私钥)。以下是转换的步骤:

根据您的系统类型从以下链接下载并安装 OpenSSL 软件 https://slproweb.com/products/Win32OpenSSL.html

在命令提示符下运行以下命令:openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.txt -in certificate.crt -certfile CACert.crt

这里:

Certificate.crt = Your-domain-Name.crtCACert.crt = NetworkSolutions_CA.crtcertificate.pfx是生成文件的新名称。PrivateKey可以是.key.txt格式

完成此过程后,我们现在拥有certificate.pfx 文件,因此请转到 IIS 管理器中的 IIS 服务器证书。

右侧有一个导入链接按钮,点击该按钮,选择转换后的证书,输入创建.pfx文件时输入的密码,完成该过程。

现在在 IIS 上选择您的站点并右键单击它,选择“编辑绑定”并在新的弹出窗口中选择类型为 https:// 和“主机名称”是您的域名,所有其他字段都是原样,单击确定以完成此过程。

现在重新启动 IIS,您的证书在您的站点上运行良好。

【讨论】:

当链接不再解析时,搜索 OpenSLL 便携式应该会向您发送正确的方法 - 或访问 wiki:wiki.openssl.org/index.php/Binaries 并获取没有依赖关系的二进制文件。我必须这样做才能为 Azure 服务应用程序生成 .pfx 文件(如果其他人遇到此问题)。 我想补充一点,当使用openssl pkcs12 时,使用name 选项(如openssl pkcs12 -export -name "My cert" [otherparams] 非常有用。这样您的自定义名称将显示在“名称”中IIS 管理器中证书列表中的列。【参考方案2】:

对上面超级有用的答案的小更新:

OpenSSL 版本已更新,因此链接不再有效。这是下载任何版本的完整下载页面: https://slproweb.com/products/Win32OpenSSL.html

我在 Windows 10 IIS 安装中使用了 Win64OpenSSL_Light-1_1_0j.exe。完美运行。

安装到默认位置 C:\OpenSSL-Win64\

对于 sslforfree.com 的证书文件,为了方便您从包含 sslforfree.com 提供的三个文件的文件夹中运行以下命令行:

C:\OpenSSL-Win64\bin\openssl.exe pkcs12 -export -out certificate.pfx -inkey private.key -in certificate.crt -certfile ca_bundle.crt

【讨论】:

以上是关于如何将 .crt 证书文件转换为 .pfx的主要内容,如果未能解决你的问题,请参考以下文章

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

openssl将私钥和crt证书合成pfx证书

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

如何对PFX证书转换成PEM格式证书

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

[转]Apache的CRT格式SSL证书转换成IIS用的PFX格式