我需要pfx文件来安装IIS网站上的https。

我有两个单独的文件:证书(。cer或pem)和私钥(.crt),但IIS只接受.pfx文件。

我显然安装了证书,它在证书管理器(mmc)中可用,但当我选择证书导出向导时,我无法选择PFX格式(它是灰色的)

有什么工具可以做到这一点吗?或者c#中有编程的例子吗?


当前回答

https://msdn.microsoft.com/en-us/library/ff699202.aspx

(文章相关引语如下))

Next, you have to create the .pfx file that you will use to sign your deployments. Open a Command Prompt window, and type the following command: PVK2PFX –pvk yourprivatekeyfile.pvk –spc yourcertfile.cer –pfx yourpfxfile.pfx –po yourpfxpassword where: pvk - yourprivatekeyfile.pvk is the private key file that you created in step 4. spc - yourcertfile.cer is the certificate file you created in step 4. pfx - yourpfxfile.pfx is the name of the .pfx file that will be creating. po - yourpfxpassword is the password that you want to assign to the .pfx file. You will be prompted for this password when you add the .pfx file to a project in Visual Studio for the first time.

(可选的(不是为OP,而是为以后的读者),你可以从头开始创建.cer和.pvk文件)(你会在上面之前这样做)。注意,mm/dd/yyyy是开始日期和结束日期的占位符。请参阅MSDN文章以获得完整的文档。

makecert -sv yourprivatekeyfile.pvk -n "CN=My Certificate Name" yourcertfile.cer -b mm/dd/yyyy -e mm/dd/yyyy -r

其他回答

这是迄今为止最简单的转换方法。Cer到*。可以文件:

只需从DigiCert下载便携式证书转换器: https://www.digicert.com/util/pfx-certificate-management-utility-import-export-instructions.htm

执行它,选择一个文件,并得到你的*.pfx!!

我有你要求的链接。使用OpenSSL将CRT和KEY文件合并为PFX

以上连结摘录:

First we need to extract the root CA certificate from the existing .crt file, because we need this later. So open up the .crt and click on the Certification Path tab. Click the topmost certificate (In this case VeriSign) and hit View Certificate. Select the Details tab and hit Copy to File… Select Base-64 encoded X.509 (.CER) certificate Save it as rootca.cer or something similar. Place it in the same folder as the other files. Rename it from rootca.cer to rootca.crt Now we should have 3 files in our folder from which we can create a PFX file. Here is where we need OpenSSL. We can either download and install it on Windows, or simply open terminal on OSX.

编辑:

有一个支持链接,提供了关于如何安装证书的分步信息。 安装成功后,导出证书,选择.pfx格式,包含私钥。 重要提示:要以.pfx格式导出证书,您需要在请求证书的同一台机器上执行以下步骤。 导入的文件可以上传到服务器。

我从.key和.pem文件创建了.pfx文件。

比如这个openssl pkcs12 -inkey rootCA。输入rootCA。-export -out rootCA.pfx . pem

从这个链接:

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证书文件:

我也有同样的问题。我的问题是,在扩展ssl验证过程完成之前,生成初始证书请求的计算机已经崩溃。我需要生成一个新的私钥,然后从证书提供者导入更新后的证书。如果您的计算机上不存在私钥,则不能将证书导出为pfx。这个选项是灰色的。