当 IIS 8 SSL 证书位于“Web 托管”存储中时,对其进行续订

当 IIS 8 SSL 证书位于“Web 托管”存储中时,对其进行续订

我有一台运行正常的 IIS 8.0 服务器(在 Windows Server 2012 上),其中安装了正常运行的 SSL。证书将在几天后到期,因此我正在尝试续订它。

当我尝试在 IIS 管理器中创建续订请求时,单击Finish以下内容会失败:

---------------------------
Renew an Existing Certificate
---------------------------
There was an error while performing this operation.



Details: 

Object reference not set to an instance of an object.
---------------------------
OK   
---------------------------

当我尝试通过 MMC 中的证书管理单元执行此操作时,我发现上下文菜单中没有续订选项。我相信这两个问题都是由于证书位于WebHostingWeb Hosting)证书存储中造成的。

在这种情况下,我该如何创建续订请求?

谢谢!

答案1

好吧,事实证明,“更新”并不是我想要的,尽管你会认为它是。https://www.geocerts.com/csr/iis_renew_7告诉我我只是想发出新的请求,而不是进行续订。

我尝试将证书移至Personal,这样我就可以发出续订请求,但 CA(在本例中为 Network Solutions)不喜欢该请求。不过,他们同意新的请求。所以最终一切都解决了。

答案2

我遇到了同样的问题,最后我创建了一个新的请求,而不是“续订”。不过,显然有一种方法可以修复续订功能 - 请参阅 https://blogs.msdn.microsoft.com/sroun/2014/07/25/fixing-object-reference-not-set-to-an-instance-of-an-object-when-using-shared-configuration-in-iis8-x/

答案3

我想补充有关这个情况的信息。

我发现,当“创建续订证书请求”的当前证书位于“Web 托管”存储中而不是本地计算机“个人”存储中时,就会发生发布的错误。

此外,如果创建了续订证书而没有创建续订证书请求,只需在原始授权服务器中续订证书并使用 IIS 选项“续订证书”导入,选择“完成证书续订请求”并再次选择“Web 托管”存储,续订证书将被导入但与私钥没有任何关联,因此它不会显示在 IIS 中并且无法绑定。但是,如果使用相同的选项并选择“个人”存储而不是“Web 托管”存储,则私钥与续订的证书相关联。

顺便说一句,这样做会丢失友好名称,并且我相信 IIS 自动绑定更新的证书将不起作用,因为原始证书绑定没有使用相同的存储。

因此,至少在第一次将续订的证书导入本地计算机“个人”存储时必须手动重新绑定 IIS 证书。希望后续续订的证书能够自动绑定。

关于“在 iis8-x 中使用共享配置时未将对象引用设置为对象实例”的参考修复并未解决这种情况。

我最后的想法是,如果 IIS 不完全支持,为什么它提供将证书导入“Web 托管”存储的功能。我相信这只是一个从未向 Microsoft 报告/识别的错误。Web 托管存储是在 IIS 8 中引入的,用于将动态证书加载到内存中,而不是像本地计算机个人存储那样批量加载证书。

我的服务器是带有 IIS 10 的 Windows 2019 服务器。

答案4

实际上,我通过创建一个新的 txt 文件并用它来写入续订请求,成功了。错误似乎是在续订过程尝试创建 txt 文件时发生的。手动创建该文件可以修复错误

相关内容