我需要pfx文件来安装IIS网站上的https。
我有两个单独的文件:证书(。cer或pem)和私钥(.crt),但IIS只接受.pfx文件。
我显然安装了证书,它在证书管理器(mmc)中可用,但当我选择证书导出向导时,我无法选择PFX格式(它是灰色的)
有什么工具可以做到这一点吗?或者c#中有编程的例子吗?
我需要pfx文件来安装IIS网站上的https。
我有两个单独的文件:证书(。cer或pem)和私钥(.crt),但IIS只接受.pfx文件。
我显然安装了证书,它在证书管理器(mmc)中可用,但当我选择证书导出向导时,我无法选择PFX格式(它是灰色的)
有什么工具可以做到这一点吗?或者c#中有编程的例子吗?
当前回答
微软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。
其他回答
需要使用makecert工具。
以管理员身份打开命令提示符,输入以下命令:
makecert -sky exchange -r -n "CN=<CertificateName>" -pe -a sha1 -len 2048 -ss My "<CertificateName>.cer"
其中<CertifcateName> =要创建的证书的名称。
然后,您可以通过键入certmgr打开管理控制台的证书管理器管理单元。在开始菜单中,单击个人>证书>,您的证书应该可用。
这是一篇文章。
https://azure.microsoft.com/documentation/articles/cloud-services-certs-create/
我想推广“X证书和密钥管理器”或xca.exe,它就像OpenSSL的GUI版本。你可以通过以下步骤生成pfx文件:
在“private Keys”页签导入私钥; 在“Certificates”页签中导入证书; 生成pfx文件,选择证书,然后“导出”,格式选择PKCS #12。
就是这样。
我从.key和.pem文件创建了.pfx文件。
比如这个openssl pkcs12 -inkey rootCA。输入rootCA。-export -out rootCA.pfx . pem
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
我写了一个小控制台应用程序,它可以将PEM证书文件和私钥文件转换为一个.pfx PKCS12证书文件。 它使用BouncyCastle库。
我的Github回购:https://github.com/nklkli/PEM-to-PKCS12
请随意修改代码以创建密码保护的*.pfx。