首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IIS正在提供错误的本地主机证书。

IIS正在提供错误的本地主机证书。
EN

Stack Overflow用户
提问于 2012-10-12 19:51:18
回答 4查看 31.9K关注 0票数 18

好的,我有一个SSL问题,在这台1 Win7 x64机器上似乎无法通过。我已经使用了多年的自我签名证书,甚至在博客上写过,所以我有经验。然而,这一次发生了一些我搞不懂的事情。

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

  1. 在IIS (7.5)中发出和创建的本地主机(友好名称)。它包含由我的机器名:‘DevMachine123 123’的值发出的‘发出’和‘发出’。这是为IIS中的“默认网站”下配置的应用程序提供的证书。
  2. 使用makecert.exe工具创建的本地主机SSL证书,其中使用了CN=localhost (公共名称)。它包含'localhost‘的值所发出的’发出到‘和’发出‘。这是我希望在IIS中为在“默认网站”下配置的应用程序提供的SSL证书。

我得到的错误是:

该网站提供的安全证书是为另一个网站的地址签发的。

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

另外,我的证书已经添加到“受信任的根证书颁发机构”中,因此它们都是受信任的证书。

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

我觉得我已经在这里覆盖了我的基地(是的,我见过,所以请不要再发帖)。我在这里错过了什么?

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-26 04:31:08

我有一个类似的问题,也通过了您上面提到的站点绑定检查。我运行了以下netsh命令

代码语言:javascript
运行
复制
netsh http show sslcert

这向我展示了两个SSL证书绑定。一个在IP:端口0.0.0.0:443与正确的证书和一个在IP上:端口:443与一个过期的证书。我为本地计算机打开了CertMgr.msc (有关说明请参见这里 ),并搜索无效证书并发现它已过期。

为了解决这个问题,我做了以下工作

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

Stack Overflow用户

发布于 2016-04-08 08:35:28

与@IsolatedStorage非常相似,但提供了一些帮助我的更多细节。

首先,对你来说可能是相同的几点

  • 我试图更新一个证书,因为它已经过期了。
  • 我有多个域绑定到同一个IP。它们碰巧是SAN证书,但这可能与此无关。
  • 我试着使用集中的证书存储。我再一次认为这与我的大部分回答无关。
  • 我已经试图更新证书,但它并没有显示新的日期。
  • 如果你的旧证书已经过期,你现在可能处于恐慌之中。深呼吸..。

首先,我强烈建议使用https://www.digicert.com/help/并下载他们的DigiCert工具。你也可以在网上使用它。

输入您的网站https://example.com,它将显示过期日期和拇指指纹( MS称之为证书哈希)。它可以进行实时查找,这样您就不必担心浏览器(或中间服务器)是否在缓存什么。

如果您正在使用集中式证书存储,您将希望100%确定.pfx文件是最新版本,因此请转到您的存储目录并运行以下命令:

代码语言:javascript
运行
复制
C:\WEBSITES\SSL> certutil -dump www.example.com.pfx

这将显示过期日期和散列/拇指指纹。显然,如果这个过期日期是错误的,您可能只是将错误的证书导出到文件系统,所以首先去修复它。

如果您正在使用CCS,那么假设这个certutil命令给您预期的过期日期(您更新的证书),那么您可以继续操作。

运行以下命令:

代码语言:javascript
运行
复制
netsh http show sslcert > c:\temp\certlog.txt
notepad c:\temp\certlog.txt

这里可能有很多东西,所以在文本编辑器中打开它就更容易了。

您会想要在这个文件中搜索从digicert.com获得的错误散列(或从fromChrome获得的指纹)。

对我来说,这产生了以下结果。你会看到它是绑定到一个IP,而不是我期望的域名。这就是问题所在。这似乎比我刚刚为example.com更新的IIS中的绑定集优先(无论出于什么原因我不确定)。

代码语言:javascript
运行
复制
IP:port                      : 10.0.0.1:443
Certificate Hash             : d4a17e3b57e48c1166f18394a819edf770459ac8
Application ID               : {4dc3e181-e14b-4a21-b022-59fc669b0914}
Certificate Store Name       : My
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check                  : Enabled
Revocation Freshness Time    : 0
URL Retrieval Timeout        : 0
Ctl Identifier               : (null)
Ctl Store Name               : (null)
DS Mapper Usage              : Disabled
Negotiate Client Certificate : Disabled

我甚至不知道这个绑定是从哪里来的--我在我的默认站点上甚至没有任何SSL绑定,但是这个服务器已经有几年的历史了,我认为有些东西被破坏和卡住了。

所以你会想要删除它。

为了安全起见,您需要首先运行以下comand,以确保只删除这一项:

代码语言:javascript
运行
复制
C:\Windows\system32>netsh http show sslcert ipport=10.0.0.1:443

SSL Certificate bindings:
-------------------------

IP:port                      : 10.0.0.1:443
Certificate Hash             : d4a17e3b57e48c1166f18394a819edf770459ac8
Application ID               : {4dc3e181-e14b-4a21-b022-59fc669b0914}
Certificate Store Name       : My
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check                  : Enabled
Revocation Freshness Time    : 0
URL Retrieval Timeout        : 0
Ctl Identifier               : (null)
Ctl Store Name               : (null)
DS Mapper Usage              : Disabled
Negotiate Client Certificate : Disabled

现在,我们已经验证了这是“坏”的拇指指纹,并且预期可以使用以下命令删除它:

代码语言:javascript
运行
复制
C:\Windows\system32>netsh http delete sslcert ipport=10.0.0.1:443

SSL Certificate successfully deleted

希望如果您现在回到Digicert并重新运行该命令,它将给您提供预期的证书拇指打印。您应该检查所有的SAN名称,如果您有任何只是为了确定。

可能想在这里的IISRESET,以确保以后没有惊喜。

最后注意:如果您使用的是集中式证书存储,并且您正在看到异常行为,甚至试图确定它是否从那里提取您的证书,请不要担心--这不是您的错。它似乎有时会立即接收新文件,但会缓存旧文件。在进行任何更改后打开和重新保存SSL绑定似乎是重置它,但不是100%的时间。

祝你好运:-)

票数 7
EN

Stack Overflow用户

发布于 2014-05-19 13:50:42

同样的症状

将下拉列表中的HTTPS绑定更改为服务器IP (在站点绑定对话框中)。它被设置为“所有未分配的”,收到了关于覆盖现有证书/ IP组合的警告,我接受了该组合,并解决了问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12866117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档