我遇到了本文描述的问题线但 Microsoft Edge 浏览器版本 119 已于 2023 年 11 月 2 日发布。
该问题似乎仅发生在具有多个启用 https 的虚拟主机的 Web 服务器实例上,这些虚拟主机不是根据加载顺序首先加载的虚拟主机。
该 Web 服务器是运行在 AIX 服务器之上的 Apache 2.2.31,带有 OpenSSL 1.0.2u。
我尝试从客户端找到一个快速修复方法,类似于前面提到的带有标志的线程中描述的修复方法chrome://flags/#use-sha1-server-handshakes
,但在 Microsoft Edge 内部不存在此标志。
短期内似乎无法更新 OpenSSL 版本来修复 SHA-1 签名的错误,因此目前我们唯一的解决方法是客户不要更新他们的浏览器版本并继续使用 Microsoft Edge 118 或更低版本。
我在发行说明中搜索了 Microsoft,并没有发现 SHA-1 签名已被禁用,但考虑到该引擎与 Chrome 基于相同的引擎,他们可能在不知情的情况下继承了该行为。
https://learn.microsoft.com/en-us/DeployEdge/microsoft-edge-relnotes-security https://msrc.microsoft.com/update-guide
我确信该行为是相同的,因为我可以使用最新版本的 Google Chrome 重现该行为,并且我使用上述标记修复了该行为。Mozilla Firefox 不会出现此问题。
当进行网络捕获并使用 wireshark 进行分析时,发现握手期间客户端返回了错误,并显示以下消息Illegal parameter (47)
。
有什么办法可以在短期内解决这个问题吗?也许某些 apache 指令可以提供帮助,例如通过修改已启用的密码套件?
这是ssl相关的配置(请不要开玩笑说启用tls1.0和tls1.1协议)
SSLEngine on
SSLProtocol -ALL +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
编辑:如果有人遇到同样的问题,并且有可能修改浏览器的版本,我在这里留下一个页面,可以从中下载以前版本的 MS Edge 浏览器 https://www.microsoft.com/en-us/edge/business/download?form=MA13FJ
EDIT2(线程关闭后):使用相同的服务器,相同的操作系统和相同的旧的和弃用的 OpenSSL 版本,但使用 Apache 2.4.32 似乎已经解决了。
如果它对任何人有帮助,我在这里留下发生错误时和正常工作时的握手外观作为参考。