我需要pfx文件来安装IIS网站上的https。
我有两个单独的文件:证书(。cer或pem)和私钥(.crt),但IIS只接受.pfx文件。
我显然安装了证书,它在证书管理器(mmc)中可用,但当我选择证书导出向导时,我无法选择PFX格式(它是灰色的)
有什么工具可以做到这一点吗?或者c#中有编程的例子吗?
我需要pfx文件来安装IIS网站上的https。
我有两个单独的文件:证书(。cer或pem)和私钥(.crt),但IIS只接受.pfx文件。
我显然安装了证书,它在证书管理器(mmc)中可用,但当我选择证书导出向导时,我无法选择PFX格式(它是灰色的)
有什么工具可以做到这一点吗?或者c#中有编程的例子吗?
当前回答
这是迄今为止最简单的转换方法。Cer到*。可以文件:
只需从DigiCert下载便携式证书转换器: https://www.digicert.com/util/pfx-certificate-management-utility-import-export-instructions.htm
执行它,选择一个文件,并得到你的*.pfx!!
其他回答
我正在使用libreSSL v2.8.3在macbook上尝试openssl,并得到错误“没有证书匹配私钥”。我有一个域证书,2个中间证书和1个根证书。所以我使用以下命令成功地工作:
openssl pkcs12 -export -clcerts -inkey private.csr.key -in domain.name.crt -certfile intermediate1.crt -certfile intermediate2.crt -certfile root.crt -out domain.name.p12 -name "Your Name"
它将要求在导入过程中使用的密码。该命令将生成一个.p12文件,该文件可以重命名为.pfx,因为两者是相同的。
从这个链接:
https://serverfault.com/a/224127/569310 https://stackoverflow.com/a/49784278/7856894 https://stackoverflow.com/a/17284371/7856894
如果需要,可以在OpenSSL中使用这个简单的命令序列来生成filessl。key (SSL证书密钥文件)、filessl. key和filessl. key。SSL证书文件:
openssl genrsa 2048 > filessl.key
chmod 400 filessl.key
openssl req -new -x509 -nodes -sha256 -days 365 -key filessl.key -out filessl.crt
在此之前,您必须响应交互式表单(您可以从其他帖子中找到类似req.cnf的参考信息:https://stackoverflow.com/a/49784278/7856894)
然后,继续执行最后一个命令,它会要求您输入Export Password:
openssl pkcs12 -export -out filessl.pfx -inkey filessl.key -in filessl.crt
准备好了,它生成了.pfx(或. p12)格式的SSL证书文件:
微软Pvk2Pfx命令行实用程序似乎有你需要的功能:
Pvk2Pfx (Pvk2Pfx.exe)是一个命令行工具,它将。spc、。cer和。pvk文件中包含的公钥和私钥信息复制到个人信息交换(Personal information Exchange, pfx)文件中。 http://msdn.microsoft.com/en-us/library/windows/hardware/ff550672 (v = vs.85) . aspx
注意:如果你需要/想要/更喜欢c#解决方案,那么你可能会考虑使用http://www.bouncycastle.org/ api。
这是迄今为止最简单的转换方法。Cer到*。可以文件:
只需从DigiCert下载便携式证书转换器: https://www.digicert.com/util/pfx-certificate-management-utility-import-export-instructions.htm
执行它,选择一个文件,并得到你的*.pfx!!
我也有同样的问题。我的问题是,在扩展ssl验证过程完成之前,生成初始证书请求的计算机已经崩溃。我需要生成一个新的私钥,然后从证书提供者导入更新后的证书。如果您的计算机上不存在私钥,则不能将证书导出为pfx。这个选项是灰色的。