我需要pfx文件来安装IIS网站上的https。
我有两个单独的文件:证书(。cer或pem)和私钥(.crt),但IIS只接受.pfx文件。
我显然安装了证书,它在证书管理器(mmc)中可用,但当我选择证书导出向导时,我无法选择PFX格式(它是灰色的)
有什么工具可以做到这一点吗?或者c#中有编程的例子吗?
我需要pfx文件来安装IIS网站上的https。
我有两个单独的文件:证书(。cer或pem)和私钥(.crt),但IIS只接受.pfx文件。
我显然安装了证书,它在证书管理器(mmc)中可用,但当我选择证书导出向导时,我无法选择PFX格式(它是灰色的)
有什么工具可以做到这一点吗?或者c#中有编程的例子吗?
当前回答
我想推广“X证书和密钥管理器”或xca.exe,它就像OpenSSL的GUI版本。你可以通过以下步骤生成pfx文件:
在“private Keys”页签导入私钥; 在“Certificates”页签中导入证书; 生成pfx文件,选择证书,然后“导出”,格式选择PKCS #12。
就是这样。
其他回答
这是迄今为止最简单的转换方法。Cer到*。可以文件:
只需从DigiCert下载便携式证书转换器: https://www.digicert.com/util/pfx-certificate-management-utility-import-export-instructions.htm
执行它,选择一个文件,并得到你的*.pfx!!
在大多数情况下,如果您无法将证书导出为PFX(包括私钥),是因为MMC/IIS无法找到/没有访问私钥(用于生成CSR)的权限。以下是我解决这个问题的步骤:
Run MMC as Admin Generate the CSR using MMC. Follow this instructions to make the certificate exportable. Once you get the certificate from the CA (crt + p7b), import them (Personal\Certificates, and Intermediate Certification Authority\Certificates) IMPORTANT: Right-click your new certificate (Personal\Certificates) All Tasks..Manage Private Key, and assign permissions to your account or Everyone (risky!). You can go back to previous permissions once you have finished. Now, right-click the certificate and select All Tasks..Export, and you should be able to export the certificate including the private key as a PFX file, and you can upload it to Azure!
希望这能有所帮助!
当您说证书在MMC中可用时,它是在“当前用户”或“本地计算机”下可用吗?我发现只有在本地计算机下才能导出私钥。
您可以将证书管理单元添加到MMC,并选择它应该为哪个帐户管理证书。选择本地计算机。如果您的证书不在那里,请通过右键单击存储区并选择All Tasks > import来导入它。
现在,在证书管理单元的本地计算机版本下导航到导入的证书。右键单击证书,选择“All Tasks > Export”。导出向导的第二页应该询问您是否要导出私钥。选择Yes。PFX选项现在将是唯一可用的选项(如果选择no,则显示灰色,并且当前用户帐户下无法导出私钥)。
系统将要求您为PFX文件设置密码,然后设置证书名称。
需要使用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/
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