如何将 .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.crt
CACert.crt
= NetworkSolutions_CA.crt
certificate.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很有用