windows pfx证书生成 - 如何从证书和私钥创建.pfx文件?




pfx提取私钥 pfx证书制作工具 (13)

尽管使用IIS生成新的CSR可能是最容易的(如@rainabba所述),但假设您拥有中间证书,还有一些在线转换器 - 例如: https://www.sslshopper.com/ssl-converter.html : https://www.sslshopper.com/ssl-converter.html

这将允许您从证书和私钥创建PFX,而无需安装其他程序。

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

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

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

有没有什么工具可以做到这一点,或C#的例子做这种编程?



如果您正在寻找Windows GUI,请查看DigiCert。 我只是用这个,它很简单。

在SSL选项卡下,我首先导入了证书。 然后,一旦我选择了证书,我就可以将其导出为PFX,无论是否带有密钥文件。

https://www.digicert.com/util


在大多数情况下,如果您无法将证书作为PFX(包括私钥)导出,是因为MMC / IIS找不到/无法访问私钥(用于生成CSR)。 这些是我遵循的步骤来解决此问题:

  • 以管理员身份运行MMC
    • 使用MMC生成CSR。 按照此说明使证书可导出。
  • 从CA(​​crt + p7b)获取证书后,导入它们(Personal \ Certificates和Intermediate Certification Authority \ Certificates)
  • 重要:右键单击您的新证书(个人\证书)所有任务..管理私钥,并为您的帐户或Everyone分配权限(有风险!)。 完成后,您可以返回到先前的权限。
  • 现在,右键单击证书并选择“所有任务...导出”,然后您应该能够将包括私钥在内的证书导出为PFX文件,并且您可以将其上载到Azure!

希望这可以帮助!



您需要使用makecert工具。

以管理员身份打开命令提示符并键入以下内容:

makecert -sky exchange -r -n "CN=<CertificateName>" -pe -a sha1 -len 2048 -ss My "<CertificateName>.cer"

其中<CertifcateName> =您要创建的证书的名称。

然后,您可以通过在“开始”菜单中键入certmgr.msc打开管理控制台的证书管理器管理单元,单击个人>证书>,并且您的证书应该可用。

这是一篇文章。

https://azure.microsoft.com/documentation/articles/cloud-services-certs-create/


我得到了你的要求的链接。 elgwhoppo.com/2013/04/18/…

以上链接摘录:

首先,我们需要从现有的.crt文件中提取根CA证书,因为我们稍后需要。 所以打开.crt并点击Certification Path标签。

点击最上面的证书(在这里是VeriSign),然后点击查看证书。 选择详细信息选项卡并点击复制到文件...

选择Base-64编码的X.509(.CER)证书将其另存为rootca.cer或类似内容。 将它放在与其他文件相同的文件夹中。

将它从rootca.cer重命名为rootca.crt现在我们应该在我们的文件夹中有3个文件,我们可以从中创建一个PFX文件。

这是我们需要OpenSSL的地方。 我们可以在Windows上下载并安装它 ,或者直接在OSX上打开终端。

编辑:

  1. 关于如何安装证书的逐步信息支持链接。

  2. 成功安装后,导出证书,选择.pfx格式,包含私钥。

    重要说明:要以.pfx格式导出证书,您需要遵循您请求证书的同一台计算机上的步骤

  3. 导入的文件可以上传到服务器。


你将需要使用openssl。

openssl pkcs12 -export -out domain.name.pfx -inkey domain.name.key -in domain.name.crt

密钥文件只是一个包含私钥的文本文件。

你可以从这里安装openssl: openssl


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

((相关文章的相关引用如下))

接下来,您必须创建您将用于签署部署的.pfx文件。 打开命令提示符窗口,然后键入以下命令:

PVK2PFX –pvk yourprivatekeyfile.pvk –spc yourcertfile.cer –pfx yourpfxfile.pfx –po yourpfxpassword

哪里:

-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 created.
-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

当您说证书在MMC中可用时,它是否在“当前用户”或“本地计算机”下可用? 我发现只有在本地计算机下才能导出私钥。

您可以将证书的管理单元添加到MMC中,并选择应为其管理证书的帐户。 选择本地计算机。 如果您的证书不存在,请通过右键单击存储并选择“所有任务”>“导入”来导入它。

现在导航到证书管理单元的本地计算机版本下的导入证书。右键单击证书并选择所有任务>导出。 导出向导的第二页应询问您是否要导出私钥。 选择是。 PFX选项现在是唯一可用的选项(如果您选择“否”并且导出私钥的选项在“当前用户”帐户下不可用,则它将变为灰色)。

系统会要求您为PFX文件设置密码,然后设置证书名称。


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


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

像这样openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx


在控制台中说我将表单的字段名称从name="email"更改为name="email\"); DROP TABLE users; name="email\"); DROP TABLE users;

它不太可能成为一个成功的XSS攻击,但我可以看到类似的东西对编码不良的PHP造成损害。 CI可能只是试图覆盖他们所有的基础,因此他们可以声称尽可能受到XSS保护。





windows security iis certificate ssl-certificate