我知道我不是在计算机重启后丢失证书关联的人。 特别是:
一切正常,但直到计算机重新启动。 重新启动后,当我打开我看到的绑定属性时(未选中)
之后我发现了什么
netsh http show sslcert
我看不到我用于 HTTPS 绑定的端口
当我在 netsh http 添加 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}
并在 Windows Scheduler 中计划启动 bat 文件(在 1 分钟后启动) 工作了一段时间,但现在已经停止了。
有什么问题怎么解决?
我刚刚遇到了类似的问题,每当我重新启动机器时,我的自托管 OWIN 应用程序的 SSL 绑定就会丢失。
我看到这篇文章:Adding SSL Certificate via "netsh.exe" does not last after a machine restart,其中提到:
我认为将自签名证书从个人目录移动到受信任的根 CA 目录会导致开发人员重启机器后 SSL 停止工作的问题。 (不知道它是如何发生的,但它确实一直在发生。)我最终通过将自签名证书导出并将其重新导入到受信任的根目录中(而不是简单地将其拖过)来解决这个问题。现在考虑了我的自签名证书,我不需要每次重新启动机器时都重新安装/修复 IIS Express。
我的情况有点不同,但是当我导入本地主机 SSL 证书时,我还使用拖放将其从“当前用户”的个人证书复制到“本地计算机”的个人证书。 所以我删除了我的证书并在不使用拖放的情况下重新导入,这似乎已经解决了 - 我现在可以重新启动我的机器而不会丢失我的 SSL 端口绑定!
希望这对您也有用(如果您仍然遇到问题)。
我的 Windows Admin Center 服务器重新启动后遇到了类似的问题,我相信这是相关的。经过许多 many 小时的渐进研究和故障排除,我最终只是简单地使用 MMC 的 certlm.msc 将证书导入受信任的根证书颁发机构,然后 copying 证书从受信任的根证书颁发机构到个人。
这只在以下条件下对我有用
编辑:@jglouie 在这篇文章中的最佳答案陈述了非常相似的内容。 https://stackoverflow.com/posts/75859585/edit