IIS在计算机重新启动后丢失HTTPS端点证书

lnlaulya  于 2023-03-30  发布在  其他
关注(0)|答案(2)|浏览(207)

我知道我不是在计算机重新启动后丢失证书关联的人。特别是:

  • 在IIS中打开“站点绑定”对话框
  • 查找我的HTTPS绑定
  • 按下“编辑...”
  • 从“SSL证书”中选择我的证书
  • 按下应用

一切工作都很完美,但直到计算机重新启动。重新启动后,当我打开绑定属性我看到(未选中)
我发现

netsh http show sslcert

我看不到我用于HTTPS绑定的端口
when I am netsh http add sslcert ipport=0.0.0.0:port certhash= appid={ID}
一切都更进一步
作为一个快速但肮脏的解决方案,我创建了一个 bat 文件,内容如下:

netsh http del sslcert ipport=0.0.0.0:port
netsh http add sslcert ipport=0.0.0.0:port certhash=<Hash> appid={ID}

和计划启动的 bat 文件在Windows调度程序(在启动后1分钟)工作了一段时间,但现在已经停止。
如何解决它有什么问题?

jaql4c8m

jaql4c8m1#

我刚刚遇到了一个类似的问题,每当我重新启动机器时,我的自托管OWIN应用程序的SSL绑定都会丢失。
我看到了这篇文章:Adding SSL Certificate via "netsh.exe" does not last after a machine restart,其中提到:
我认为通过将自签名证书从个人移动到受信任的根CA目录会导致开发人员重新启动机器后SSL停止工作的问题。(不知道是怎么回事,但它确实一直在发生。)我最终通过导出并重新导入自签名证书到受信任根目录来解决这个问题(而不是简单地拖动它)。现在我的自签名证书被考虑,我不需要重新安装/修复IIS Express每次我重新启动机器。
我的情况有点不同,但是当我导入我的localhost SSL证书时,我也使用拖放将其从“当前用户”的个人证书复制到“本地计算机”的个人证书。所以我删除了我的证书并重新导入,而没有使用拖放,这似乎已经处理了它-我现在可以重新启动机器而不会丢失SSL端口绑定!
希望这也能为你工作(如果你仍然有这个问题)。

kknvjkwl

kknvjkwl2#

我在重新启动Windows管理中心服务器后遇到了类似的问题,我相信这是相关的。经过许多,许多小时的逐步研究和故障排除,我最终只是使用MMC的certlm.msc将证书导入到受信任的根证书颁发机构,然后将证书从受信任的根证书颁发机构复制到个人。

这只适用于我在以下条件下

  • 证书可导出
  • 证书是为本地计算机而不是当前用户导入的,因为这是为Windows工作组环境导入的。
  • 证书有一个受密码保护的私钥(也是因为本地计算机/工作组设置)
    编辑:@jglouie在这篇文章中的最高答案说明了一些非常相似的事情。https://stackoverflow.com/posts/75859585/edit

相关问题