ssl证书消失IIS


19

我正在尝试将证书导入IIS。在MMC(Windows控制台)上一切正常。我完成了向导,似乎还好。但是,当我刷新证书列表或移至IIS的其他屏幕时,证书将从列表中消失。

我不知道这是什么问题。我能做什么?


大部分的答案涉及的关键点(即私钥丢失),我有一个博客帖子透露更多的背景信息blog.lextudio.com/...
莱克斯李

Answers:


13

当导入的证书没有关联的私钥时,会发生此问题。如果有人试图将域级别的证书导入IIS,则如果证书没有关联的私钥,我们将无法导入,并且会导致证书在刷新时消失。

解决方案是将.CER文件导入您的系统(从中请求证书)个人存储并使用私钥将其导出。然后将.pfx文件复制到所需的服务器,然后从IIS下的服务器证书选项中将其导入。这样可以解决问题。


1
有些人不使用Windows来请求其证书,因此该解决方案可能对他们没有帮助。他们应该参考其他答案以使用OpenSSL之类的工具来生成.pfx文件。
Lex Li

3

我多次遇到这个问题。如果使用NetworkSolutions SSL,则修复为:

  1. 转到MMC证书管理器。
  2. 查看个人证书并删除“消失”的证书。
  3. 然后查看“证书注册请求”,然后右键单击以导出。
  4. 选择“是,使用私钥导出。

这将允许您导出可以从IIS 7管理器导入的.pfx文件。记住要回到MMC证书管理器并选择“个人证书”,然后在属性中添加“友好名称”,以便它在IIS管理器中显示。


我的解决方案是通过按Ctrl键(“复制证书”)将具有私钥的证书从“中级证书颁发机构”拖动到mmc中的“个人证书”
Bruce

我能够导出.pfx(它要求我使用密码来保护私钥)。导出有效,但是当我尝试将其导入IIS时,它说它未能解密文件
Alejandro Lozdziejski

1

是IIS 6还是IIS 7?您是在MMC控制台中还是在IIS中导入了它?尝试先在MMC控制台中导入它,然后在IIS中选择它。另外,请确保您要导入的文件是包含私钥的.pfx文件。


1

我也有这个问题,并通过使用OpenSSL创建正确的.pfx文件来解决。有关说明,请参见此处


1
这是唯一对我
有用的

1

如果服务器没有与导入的证书关联的私钥,则证书在刷新时会消失(并且该证书也将不可用于绑定)。

您可以签入mmc-证书-个人存储,并确认已安装证书但缺少私钥。

如果您有PFX(私钥)和密码,则可以导入它(如其他所说),但是如果您只是提出证书请求,则可能不会。

假设您位于正确的服务器上(与您请求证书的位置相同),则私钥可能会以某种方式损坏。您可以打开的公证书,获得序列号,并尝试从密钥存储恢复私钥等中描述的在这里


0

使用证书管理器导入文件。从那里尝试出口。如果您不能导出为PFX文件,那么我认为这意味着证书中没有私钥。您可能从CA下载了错误的文件。我现在正在处理我们的CA,因此目前还不确定100%。


0

因此,在苦苦挣扎了几个小时之后,在技术支持下重新下载了证书花费的时间,并查看了我能找到的每个博客,这让我很沮丧。我尝试重新提交证书请求以重新生成证书(不走运)。经过最后的努力,我重新生成了证书请求并为证书重新键入了密钥,现在它可以正常工作了。我不知道发生了什么,因此我非常小心地两次键入数据。我的解决方案只是生成一个新请求并为证书重新密钥。


我只想列举Dave写的内容:再次为证书加密钥。我遇到的问题可能是由于在MMC中导入错误的证书引起的(应该使用MMC导入中间证书颁发机构的证书,但我是为网站导入了证书)。我意识到后就删除了它,但是直到我按照CA(对技术支持很好的老爸)的指示重新生成CSR并将重新生成密钥的证书导入IIS之前,都无济于事。

0

导入Windows Server 2008R2计算机上的MMC本地/个人/证书节点后,IIS证书(带有私钥,.pfx)存在相同的问题。

证书很好,说CA很好,也很好。然后,我可以将代理服务器(TMG 2010)配置为在Web侦听器中使用证书。一切正常,Web侦听器以及使用该侦听器的后续规则都可以正常工作。

一段时间之后,我还没有尝试计时,证书从MMC L / P / C节点中消失了。我的TMG侦听器仍显示该证书已配置为使用该证书,但实际的证书已消失。


0

我发现在中级证书颁发机构下安装了叶子证书时,可以重现该问题。删除它(并保留所有实际的中间产物,如果适用),然后完成向导即可解决问题。


0

正如Sandeep所说,如果IIS没有私钥,则IIS会将其删除。如果您使用IIS从CA创建证书请求,通常会发生这种情况。您的CA没有私钥(您有),因此文件不包含私钥。他是您需要执行的确切步骤:

您最初是从服务器上的IIS创建的证书请求。您已将请求TXT文件发送到证书颁发机构,以便他们可以为您创建证书。

您的证书颁发机构向您发送了.CRT文件。在用于创建证书请求的同一Windows服务器上,在Windows资源管理器中,右键单击您的证书颁发机构发送给您的.CRT文件。

选择安装证书证书导入向导运行

在证书导入向导的“存储位置”中,选择“本地计算机”

接下来,选择“将所有证书放入以下存储区”,然后选择“受信任的根证书颁发机构”

单击确定,这会使Windows将证书导入Windows(而不是IIS)。现在,您需要获取包含私钥的PFX文件:

启动Mmc

文件-添加/删除管理单元…

证书(本地计算机)

来自证书(本地计算机)-扩展的受信任的根证书

权威文件夹

Selected Certificates

Noticed my imported certificate with a key logo displayed on it

打开证书

请注意,它显示“您具有与此证书对应的私钥”。

右键单击证书。

All Tasks --> Export

下一个

在向导的“导出私钥”页面中,选择“是,导出私钥”

下一个

证书导出向导会提示您-导出文件格式PKCS#12(.PFX)

下一个

证书导出向导要求您使用密码保护文件:

输入用于保护文件的密码。

下一个

浏览到一个位置并提供文件名。文件将具有.PFX扩展名。

然后,打开IIS 7

在左侧(“连接”)窗格中选择IIS服务器

在“功能”视图中,单击“打开服务器证书”。

在右侧的“操作”窗格中,单击导入…。

选择您导出的PFX文件

提供用于保护它的密码

点击确定


0

今天早上我遇到了同样的问题,可以添加证书,但是单击刷新后它就消失了。这是我的解决方法-

使用以下步骤在dev box-上安装ssl cert:使用.pfx文件。从开发人员框中转到管理工具-> IIS管理器->服务器证书。在右窗格中单击“导入”。浏览到下载的.pfx文件,使用密码请确保选中“允许导出此证书”,否则,如果稍后会收到绑定错误。转到“站点”,找到您的站点,单击绑定并编辑https以使用新的SSL证书。


0

尼克·奥尔森(Nick Olsen)的解决方案为我工作(RapidSSL证书),我将在此处提供确切的步骤(有多个链接,其中一个断开):

  1. 这里安装OpenSSL
  2. 在OpenSSL安装目录(默认情况下为C:\ OpenSSL-Win32 \ bin)中创建以下文件:

    • privatekey.txt –复制并粘贴私钥内容
    • certificate.txt –复制并粘贴“证书”部分的文本
    • intermediate.txt –复制并粘贴中间节文本(可选步骤)
  3. 使用以下命令创建.pfx文件

    openssl pkcs12 -export -out certificate.pfx -inkey privatekey.txt -in certificate.txt -certfile intermediate.txt
    
  4. 在服务器证书(IIS)中导入文件


0

很多人会来到这里,没有意识到他们在向公共网站添加SSL时错误地执行了证书处理。他们会从Godaddy之类的人那里下载证书,却没有意识到他们的顺序错误!他们不会收到任何错误消息,所有事情都会发生,一旦您单击另一部分,IIS中的证书就会消失。

正确的过程如下:

  1. 在IIS中,您需要一个证书(某人不在此部分)
  2. 您可以使用从IIS请求的代码在公共站点(例如,godaddy)上请求证书。很多人没有执行第一步,而是使用随机生成的密钥
  3. 下载使用您的请求代码创建的证书。
  4. 您在本地证书颁发机构中添加了中间证书(使用MMC到达那里)
  5. 您在IIS中添加其他证书
  6. 您配置绑定

这里是链接。创建证书申请

https://www.instantssl.com/ssl-certificate-support/csr-generation/iis-ssl-certificate-7x.html

https://uk.godaddy.com/help/iis-8-install-a-certificate-4951


0

如果证书已激活,则处理。

  1. 通过远程桌面登录到Go Daddy VPS。
  2. 打开IIS管理器/突出显示服务器节点(左窗格,VPS的IP)/双击服务器证书(中心窗格)/单击创建证书请求/填写(公用名是FQDN,yourdomain.com)/选择Microsoft RSA SChannel和2048位长度/另存为yourdomain.txt文件到桌面。
  3. 打开您刚创建的文件yourdomain.txt /复制所有文本。
  4. 在远程桌面/我的产品/ SSL /浏览器中,通过VPS在您的浏览器中登录Go Daddy /使用激活的SSL信用/单击中间的灰色方框“重新键入密钥”,然后管理/粘贴文本到文本框中/保存/提交已保存的更改。
  5. 验证域所有者后,返回“ Go Daddy” /“我的产品” /“ SSL证书” /选择“将证书应用于域” /选择“服务器类型(IIS)” /“下载/提取到桌面”。
  6. 运行mmc /文件/添加删除管理单元/证书/添加/计算机帐户/本地计算机/完成/确定
  7. 展开证书(本地计算机)/右键单击中级证书颁发机构/右键单击/所有任务/导入/从下拉菜单中使用PKCS7#7导入文件,该文件将显示在窗口中/下一步/选中“将所有证书放入以下存储区”选择“中级证书颁发机构” /完成/关闭/保存“否” /关闭mmc控制台。
  8. 返回IIS管理器/选择分配给证书的网站(左窗格)/绑定(右面板)/添加/类型(https),IP地址(您的VPS的IP),端口(443),添加您的域名(您的域.com)/证书应显示在显示yourdomain.com的下拉列表中。

注意:我还将检查YouTube / Sachin Sammy关于如何执行从http到https的重定向脚本的操作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.