从IIS中消失的SSL证书

时间:2018-07-27 15:26:44

标签: ssl iis openssl certificate

这可能看起来像是重复的,虽然有点,但我尝试过的所有解决方案都没有!这是相关的问题:

Installed SSL certificate in certificate store, but it's not in IIS certificate list

我的系统是运行IIS 10的Windows2016。我们使用IIS使用* .mydomain.com发布了一个CSR文件(我想通用名称中什么都没有,因为它将在收到GoDaddy的响应后被命名)。我们的客户转到GoDaddy.com,购买了通配符证书,并向我发送了一个包含.p7b和.crt文件的zip文件。按照GD指示,我在“中间证书”部分中安装了.p7b。因此,现在“证书”位于“个人”文件夹中,其信息为“颁发给* .mydomain.com”,友好名称为“ gis.mydomain.com”。

但是证书没有私钥-我认为是问题所在:证书在IIS管理器中消失了。当我尝试使用certutil -repairstore命令时,系统会提示您插入卡。

这是我正在考虑的修复程序:从控制台的“证书注册请求”部分,导出到pfx文件,然后使用OpenSSL制作PEM文件。然后创建一个新的pfx文件导入到IIS。问题是新创建的pfx文件给我错误“没有证书匹配私钥”。这是命令:

pkcs12 -export -in 1d4c26d43a4da203.crt -inkey my.pem -out final.pfx

请注意,在GoDaddy重新输入密钥可能无济于事:他们的.CRT文件似乎是在没有私钥的情况下生成的。另外,即使CSR文件是在同一服务器上创建的,DigiCert也无法在服务器上找到私钥。

我有什么选择?

谢谢!

4 个答案:

答案 0 :(得分:1)

直到我按照https://www.godaddy.com/help/rekey-my-certificate-4976遵循GoDaddy的说明并安装了Re-Keyed证书后,此方法才起作用。我不知道是什么原因导致了失败。我之前已经按照确切的步骤进行了操作,但是客户端提供的内容第一次无法使用。我的猜测是,CSR文件是在服务器计算机处于某些暂挂的主要Windows Update中时生成的,而在更新之后,存储在OS中的私钥以某种方式丢失/无法访问。

好吧,继续前进。

答案 1 :(得分:1)

我按照此处的步骤解决了这个问题:

https://www.namecheap.com/support/knowledgebase/article.aspx/9773/2238/ssl-disappears-from-the-certificate-list-on-windows-server/

具体来说,这些步骤:

以管理员身份打开Microsoft管理控制台(MMC)。要打开MMC,请按Win + R组合键,输入mmc,然后单击确定。

  • 选择“添加/删除管理单元”,然后选择“证书”,然后单击“添加”。

  • 在“证书”管理单元窗口中选择“计算机帐户”,然后单击“下一步”。

  • 在“选择计算机”框中选择“本地计算机”,然后单击“完成”。

  • 找到在完成证书申请时导入的证书。证书应在个人商店中。 请注意,域名旁边的证书图标没有密钥。这意味着没有私钥分配给证书。

  • 双击证书,然后转到“详细信息”选项卡。 在证书详细信息中,找到“序列号”字段,单击该字段并复制其值。

enter image description here

  • 在命令提示符下,从上面的步骤中键入:certutil -repairstore my Serial_number。确保证书的序列号不包含任何空格。它应该是单个符号字符串。

  • 您现在可以在IIS管理器中刷新服务器证书列表以查看证书。您可能需要关闭并重新打开IIS。

答案 2 :(得分:0)

当我们从 MMC -> Advanced Operations -> Create Custom Request 创建自定义 CSR 并选择 Enhanced Key Usage purpose 作为 时,还有一个用例会导致 IIS 服务器证书消失>“客户端身份验证”而不是“服务器身份验证”,并且由于我们将证书上传到服务器证书下的 IIS,因此应该是“服务器身份验证”在 IIS 上显示或不消失 -> 服务器证书

修复 -

  1. 从 MMC 中删除证书并确保在删除后将其删除 提神
  2. 使用 MMC 自定义请求选项生成 CSR 并选择“服务器 身份验证”,以用于密钥使用目的,而 使用来自 MMC 的自定义请求选项生成 CSR
  3. 为步骤 2 中生成的 CSR 生成证书并由 CA 签名
  4. 完成来自 IIS 的证书请求,证书应该是 在 MMC 中以及在 IIS 中完全可用 -> 服务器证书

这应该可以正常工作!

答案 3 :(得分:0)

终于修好了!!

步骤1 - 去你的服务器IIS

第 2 步 - 选择您的服务器并从中间面板中选择 SSL 证书

第 3 步 - 从右侧的操作面板中选择“创建证书请求”

第 4 步 - 填写必要的详细信息(通用名称 = 域名,其他不那么重要)

第 5 步 - 完成向导后,您将获得一个 .CSR 文件,在记事本中打开该文件,然后按 CTRL-A CTRL-C。

第 6 步 - 转到您的 Godaddy 帐户的产品页面,然后转到 SSL 并单击管理。

第 7 步(可选) - 要检查您的 CSR 文件是否一切正常,在管理 SSL 页面中单击“SSL 工具”,然后从那里选择 CSR 解码器,您将被带到一个页面,您可以在其中粘贴 CSR 和如果示出的结果你是好招至步骤8。

第 8 步 - 返回第 6 步,选择链接到域的 SSL。

第 9 步 - 从 SSL 仪表板向下滚动一点,您将看到 REKEY 选项,单击它。

第 10 步 - 在提供的空白处粘贴 CSR 文本

步骤11 - 点击 “添加更改”

第 12 步 - 向下滚动,点击“提交所有更改”

第 13 步 - 重新签发 SSL 后(5-10 分钟),下载 IIS 服务器的 zip 文件。

第 14 步 - 就是这样,您应该能够将新的 .CES 文件添加到 IIS 中而不会消失。

如果这对每个人都有效,请告诉我。