iis - IIS 提供的本地主机证书不正确

标签 iis ssl ssl-certificate

好的,我有一个 SSL 问题,我似乎无法在这台 1 Win7 x64 机器上解决。多年来我一直在使用自签名证书,甚至之前在博客上写过关于它们的文章,所以我有经验。但是,这次我无法弄清楚发生了什么。

我在我的机器上创建并安装了 (2) 个本地主机 SSL 证书。

  1. 在 IIS (7.5) 中发布和创建的本地主机(友好名称)。它包含我的机器名称的“颁发给”和“颁发者”值:“DevMachine123”。这是为 IIS 中“默认网站”下配置的应用程序提供的证书。
  2. 使用 makecert.exe 工具创建的本地主机 SSL 证书,其中使用了 CN=localhost(通用名称)。它包含“localhost”的“Issued To”和“Issued By”值。这是我想要在 IIS 中为我​​在“默认网站”下配置的应用程序提供的 SSL 证书。

我得到的错误是:

'The security certificate presented by this website was issued for a different website's address.'

当我查看从 IE 浏览器提供的证书时:它显示正在使用颁发给“DevMachine123”的本地主机证书,不是颁发给本地主机(上面的#2)的本地主机应该解决这个问题。因此名称不匹配,因为“DevMachine123”与“localhost”不匹配。

还有一点要说明;我的证书添加到“受信任的根证书颁发机构”,因此它们都是受信任的证书

最后一点,我检查了 IIS 机器上“默认网站”的 https 端口 443 绑定(bind)配置。我查看证书,它显示绑定(bind)了正确 localhost 证书(上面的#2 CN=localhost)。

我觉得我在这里涵盖了我的基础(是的,我已经看到了 thisthis 所以请不要重新发布)。我在这里缺少什么?

谢谢!

最佳答案

我遇到了类似的问题,并且还通过了您上面提到的网站绑定(bind)检查。我运行了以下 netsh 命令

netsh http show sslcert

这向我展示了两个 SSL 证书绑定(bind)。一个在 IP:Port 0.0.0.0:443 上,证书正确,另一个在 IP:Port [::]:443 上,证书过期。我为本地计算机打开了 CertMgr.msc(有关说明,请参阅 here)并搜索无效证书并发现它已过期。

为了解决这个问题,我做了以下事情

  1. netsh http delete sslcert ipport=[::]:443
  2. iisreset/restart

关于iis - IIS 提供的本地主机证书不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12866117/

相关文章:

c# - 某些应用程序是否可能打开/关闭 iis 托管的 Web 服务?

java - 如何从 SSL 证书中提取附加信息以允许访问 WAS 上的 WebService 客户端

api - 保护 Web API/ token 端点

ssl - 如何使用 CA 签名证书在 Jetty 中正确配置 SSL?

amazon-web-services - 如何对Amazon ELB SSL使用* .pfx证书

html - CSS 作为 localhost 但不是通过服务器地址

visual-studio - 在 Windows Server 2008 R2 和 Windows 7 上开发 .NET Web 应用程序的主要优缺点是什么?

rest - IIS7.5 尝试使用 DELETE 动词时出现 500 内部服务器错误

jquery - 从 HTTP 登录到 HTTPS

ssl - 如何从证书链导出私钥?