如何确定 SSL 证书的来源地?

如何确定 SSL 证书的来源地?

我遇到了与此问题描述的相同的问题: IIS 7 仍在提供旧的 SSL 证书

我已用新的 SSL 证书替换了旧的 SSL 证书,并从服务器上完全删除了旧证书。

当上述发帖者意识到他的网络服务器和互联网之间有一个 ISA 服务器时,他解决了他的问题,因此他从 ISA 缓存中清除了旧证书,问题就解决了。

我在其他地方看到过同样的解决方案: http://forums.iis.net/t/1182296.aspx

不幸的是,我无法向我的 ISP 证明问题不在我的服务器上,并且他们正在其基础设施的某个地方缓存旧证书。

我 99.999% 确定证书安装和绑定正确在 IIS 上:

  • 我已经为站点配置了 2 个绑定,具有不同的备用端口 9443 和 8443。
  • 旧证书之前已绑定到端口 9443 上的站点,现在两个绑定均使用新证书
  • 我已配置 etc/hosts 文件以将绑定域指向 127.0.0.1,因此当我打开浏览器访问该域时,所有请求都是本地的
  • 如果我从另一台机器(即通过 Web)访问这两个 URL,我会在端口 9443 上获得旧证书,在端口 8443 上获得新证书
  • 如果我从 Web 服务器上的浏览器访问这两个 URL,我将在两个端口上获得新证书

我 99.999% 确定证书未缓存在客户端

  • 我使用 PC 和移动设备上的多个浏览器访问过该网站
  • 我通过多种连接访问过该网站,包括我的公司局域网、家庭 DSL 和移动

我的下一步是执行类似 TLS 会话建立的跟踪路由之类的操作,以找出旧证书的来源,这样我就可以向我的 ISP 证明这是他们需要解决的问题。

这可能吗,有哪些工具可以实现这一点?

答案1

我认为您的 ISP 没有缓存任何相关内容,原因如下:

  • 为了使用您的指纹提供您的证书,他们需要访问您的私钥
  • ISP 通常不会缓存 SSL 流量
  • ISP 尤其不会在非标准端口上缓存 SSL 流量

所以这似乎是您自己的服务器的问题。尝试重新启动它,尝试跟踪它,尝试使用 @MadHatter 等评论中的建议: echo ""|openssl s_client -connect 127.0.0.1:9443 |openssl x509 -text -noout|&grep depth=0

此外,如果您使用 SNI 或类似的东西,请确保 IIS 中的默认非 SNI 网站具有正确的证书绑定,因为这至少是为非 SNI 客户端提供的,而且我看到当它们不匹配时会出现问题,而不应该出现问题。

相关内容