微软确认Win11 TLS 1.3缺陷影响IIS Express客户端证书处理
近期,有技术报道指出,微软确认在 Windows 11 系统中默认启用的 TLS 1.3 协议存在一个缺陷,该问题会影响 IIS Express 处理客户端证书的能力。在特定情况下,该问题也会波及完整版 IIS 服务器。根本原因在于 TLS 1.3 协议取消了早期版本中支持的“重协商”(Renegotiation)功能。原本服务器可以在加密会话过程中请求客户端证书,但现在 IIS Express 只能在 TLS 初始握手阶段获取证书,否则后续无法完成认证。
由于 IIS Express 的 TLS 通信由 Windows 系统的 http.sys 驱动处理,其控制时机较晚,导致无法调整证书请求的流程。对于采用双向 TLS(mTLS)方式的开发人员而言,这一改动会直接干扰测试环境。在旧版 Windows 11 和 Server 2022 系统中,浏览器会因为该问题而中断连接;在最新的 24H2 版本和 Server 2025 中,则会触发 500.0 的服务器内部错误,并伴随错误代码 0x80070032,代表“操作不支持”。
截至目前,微软尚未发布永久性修复方案。相关工程师 Matt Hamrick 提出了三种临时解决办法供参考。第一种是通过修改注册表禁用 TLS 1.3 的入站连接,使系统退回使用 TLS 1.2;第二种方式是通过 netsh 工具调整 http.sys 的 TLS 绑定设置,确保在初始握手阶段就完成证书请求;第三种方法则是在配置文件中移除客户端证书的验证要求。但需要注意的是,这些操作通常需要管理员权限,并且在使用 Visual Studio 更新项目后,相关设置可能被重置。
TLS 1.3 是当前主流的加密通信协议,全称为 Transport Layer Security 1.3,它在安全性和握手效率方面相较以往版本有显著提升。IIS Express 则是微软推出的轻量级 Web 服务组件,广泛用于本地开发和测试场景。