gpt4 book ai didi

asp.net - 优雅地检测用户无法支持来自 ASP.net 的 SHA256 SSL 连接

转载 作者:太空宇宙 更新时间:2023-11-03 14:12:48 26 4
gpt4 key购买 nike

两者都是MicrosoftGoogle已经宣布 SHA1 的终结。

有鉴于此,我们正在为我们的 SSL 证书迁移到 SHA256。由于 SHA256 is not supported before XP SP3 , 和 about 17% of user use XP (至少他们中的一些人不会使用 SP3)会有用户无法连接到我们的 https 页面。

我想做的是让我的网站认识到他们无法通过 SSL 连接,并将他们发送到支持页面,解释他们无法连接的原因并告诉他们如何更正它。

我们的网站在 IIS 6 上运行 ASP.NET。

在我看来,应该有一个 Web.Config 设置或一个 IIS 设置可以执行此操作。有谁知道任何这样的设置? Chris Hutchinson's回答This SO Question似乎表明存在这样的设置。

最佳答案

这只是可能解决方法的部分答案。

考虑到 Windows XP 上的 Internet Explorer 还有另一个已知的 SSL/TLS 限制,即它不支持服务器名称指示 (SNI),您可以根据客户端是否使用服务器名称来区分它们在他们的初始客户端问候消息中扩展。

您需要升级到 IIS 8 以获得 SNI 支持(我必须承认,当没有使用服务器名称扩展时,我不知道如何为具有不同证书的默认站点配置它),但是这样的检测应该至少从协议(protocol)的角度来看是可行的。您仍然需要为该后备网站提供单独的 SHA-1 证书。

在这种情况下,来自 XP 上的 IE 的任何连接都将转到该后备站点(不幸的是,即使使用 SP3)。

这种 XP 机器上的 Firefox 应该能够处理 SHA-256,因为它的实现完全独立于 XP 堆栈。

Chrome 可能是个问题,因为它将使用服务器名称扩展,但它也依赖于 XP 的证书管理来验证 CA 证书。我没有尝试过,但我预计那里可能会出现问题。

这些当然不是理想的解决方案,但您可能会发现其中一些折衷方案可以接受,具体取决于您的要求。


以上所有内容均假定用户访问您网站的入口点使用 https://

如果您的用户首先通过 http:// 页面访问您的站点,您可以让该页面向您的 https:// 站点发出 AJAX 请求以检查是否可以连接,如果不能则显示错误信息。这当然更容易和更通用(甚至不需要 IIS 升级)。您可能无法确切知道为什么 AJAX 请求无法连接到您的 https:// 站点(除了缺少 SHA-256 支持之外还有其他失败原因),但是一条解释性消息说明了这一点是最有可能的原因之一肯定会有所帮助。

关于asp.net - 优雅地检测用户无法支持来自 ASP.net 的 SHA256 SSL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27111139/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com