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

我有两个单独的文件:证书(.核证的排减量或pem)和私人钥匙(.crt),但是IIS只接受.pfx文件。

我显然已安装的证书,它是可用于管理证书(mmc)但是,当我选择证书出口导我无法选择PFX格式(它是灰色显示)

是否有任何工具或C#例这样做,programtically?

没有正确的解决方案

其他提示

您将需要使用OpenSSL。

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

密钥文件只是一个带有私钥的文本文件。

如果您有root ca和中级证书,请使用多个将它们包含在内 -in 参数

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

您可以从这里安装OpenSSL: Openssl

Microsoft PVK2PFX命令行实用程序似乎具有您需要的功能:

pvk2pfx(pvk2pfx.exe)是命令行工具复制公共密钥和.spc,.cer和.pvk文件中的私有密钥信息,并将.pvk文件包含在个人信息交换(.pfx)文件中。
http://msdn.microsoft.com/en-us/library/windows/hardware/ff550672(V=VS.85).aspx

注意:如果您需要/想要/更喜欢C#解决方案,则可能需要考虑使用 http://www.bouncycastle.org/ API。

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

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

https://www.digicert.com/util

您不需要OpenSSL或Makecert或任何其中的任何内容。您也不需要您的CA提供的个人钥匙。我几乎可以保证问题是您希望能够使用CA提供的密钥和CER文件,但它们不是基于“ IIS方式”的。我很厌倦在这里看到不良和困难的信息,以至于我决定写博客的主题和解决方案。当您意识到发生了什么并看到它有多容易时,您将想拥抱我:)

IIS的SSL证书一劳永逸 - SSL和IIS解释 - http://rainabba.blogspot.com/2014/03/ssl-certs-for-iis-with-with-pfx-once-once-ance-ance-for.html

使用IIS“服务器证书” UI来“生成证书请求”(此请求的详细信息不超出本文的范围,但这些详细信息至关重要)。这将为您提供IIS的CSR。然后,您将该CSR交给您的CA并索取证书。然后,您将他们提供给您的CER/CRT文件,回到IIS,在您生成的请求的同一地点“完整证书请求”。它可能会要求一个.cer,您可能有一个.crt。他们是一样的东西。只需更改扩展名或使用 . 扩展下拉列表以选择您的.crt。现在提供适当的“友好名称”(*.yourdomain.com,Yourdomain.com,foo.yourdomain.com等。)这很重要!这必须匹配您设置的CSR和CA提供的内容。如果您要求通配符,您的CA必须已经批准并生成了通配符,并且您必须使用相同的通配符。如果您的企业社会责任是为foo.yourdomain.com生成的,则必须在此步骤中提供相同的内容。

您需要使用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/

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是您在步骤4中创建的私钥文件。
  • spc -yourcertfile.cer是您在步骤4中创建的证书文件。
  • pfx -yourpfxfile.pfx是将要创建的.pfx文件的名称。
  • po -yourpfxpassword是要分配给.pfx文件的密码。首次将.pfx文件添加到Visual Studio中的项目时,将提示您输入此密码。

(可选(不是针对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

我有一个与您的要求有关的链接。将CRT和关键文件与OpenSSL合并到PFX中

从上述链接中提取:

首先,我们需要从现有的.crt文件中提取root CA证书,因为稍后需要。因此,打开.crt并单击“认证路径”选项卡。

单击最高证书(在这种情况下为Verisign),然后点击视图证书。选择“详细信息”选项卡,然后命中复制以文件…

选择基本-64编码X.509(.cer)证书将其另存为rootca.cer或类似的东西。将其与其他文件放在同一文件夹中。

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

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

编辑:

  1. 有一个 支持链接,并逐步提供有关如何进行安装证书的信息。

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

    重要的提示: :要导出.pfx格式的证书,您需要按照您请求证书的同一台计算机上的步骤.

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

到目前为止,这是将 *.cer转换为 *.pfx文件的最简单方法:

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

执行它,选择一个文件,然后获取您的 *.pfx!

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

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

当您说该证书在MMC中可用时,在“当前用户”或“本地计算机”下可用吗?我发现只有在本地计算机下方的私钥时才可以导出私钥。

您可以将证书的快照添加到MMC,然后选择其应管理证书的帐户。选择本地计算机。如果您的证书不存在,请右键单击商店并选择所有任务>导入。

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

您会被要求设置PFX文件的密码,然后设置证书名称。

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

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

这将使您无需安装其他程序即可从证书和私钥创建PFX。

在大多数情况下,如果你是无法出口证书,作为一个PFX(包括私人钥匙)是因为MMC/IIS不能发现/不必进入私人钥匙(用于生成的企业社会责任).这些步骤,我跟着来解决这个问题:

  • 运行MMC作为管理
    • 生成的企业社会责任使用MMC。跟随 这说明 让的证书可导出的。
  • 一旦获得证书从加利福尼亚(crt+p7b),将它们导(个人\证书和中间体的认证机构\证书)
  • 重要的是:右侧击你的新证书(个人\证书)的所有任务..管理的私人钥匙,并将权限分配给您的帐户或任何人(危险!).你可以回到以前的权限,一旦完成。
  • 现在,右击证书,并选择所有任务。。出口的,你应该能够出口证书,其中包括私人钥匙为PFX文件,并且你可以上传到蔚蓝!**

希望这可以帮助!

我知道一些用户已经谈论过安装此问题,并添加命令行程序并下载...

就我个人而言,我很懒惰,发现所有这些方法都很麻烦且缓慢,而且我不想下载任何东西,如果不需要,请找到正确的CMD行。

对我个人IIS服务器的最佳方法是使用Rapidsslonline。这是一个在服务器上的工具,允许您上传证书和私钥,并能够为您生成PFX文件,您可以直接导入IIS。

链接在这里:https://www.rapidsslonline.com/ssl-tools/ssl-converter.php

以下是所请求的方案的步骤。

  1. 选择当前类型= PEM
  2. 更改= PFX
  3. 上传您的证书
  4. 上传您的私钥
  5. 如果您有root ca证书或中级证书也上传
  6. 设置您选择的密码,在IIS中使用
  7. 单击recaptcha以证明您不是机器人
  8. 单击转换

因此,您应该下载PFX,并在IIS上的导入过程中使用它。

希望这对其他人,懒惰的技术人员有帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top