Win11 TLS 1.3协议导致IIS Express证书验证故障:付临时解决办法
<p>科技媒体 Windows Report 昨日(9 月 1 日)发布博文,报道称微软承认 Windows 11 系统默认启用的 TLS 1.3 协议存在 BUG,<strong>会破坏 IIS Express 处理客户端证书的能力。</strong></p><p>这一问题同时在某些条件下影响完整版 IIS 服务器,<strong>根源在于 TLS 1.3 移除了早期版本支持的“重协商”(Renegotiation)机制。</strong></p>
<p>该机制原本支持服务器在加密会话过程中请求客户端证书,而如今 IIS Express 仅能在初始 TLS 握手阶段进行证书验证,否则无法完成认证流程。</p>
<p>由于 IIS Express 依赖 Windows 系统的 http.sys 驱动处理 TLS 通信,其控制时机过晚会导致无法干预证书请求时序。</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202509/202509021621331001.jpg" /></p>
<p>对依赖双向 TLS(mTLS)的开发者来说,微软移除“重协商”机制变更,直接影响其测试环境:在旧版 Windows 11 和 Server 2022 中,浏览器会直接重置连接;而在 24H2 版本和 Server 2025 中,IIS 会返回 500.0 服务器内部错误并附带错误代码 0x80070032(意为“不支持”)。</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202509/202509021621331002.jpg" /></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202509/202509021621331003.jpg" /></p>
<p><strong>微软目前未宣布永久修复方案,工程师 Matt Hamrick 提出了三项临时应对措施:</strong></p>
<ul><li>首先通过注册表编辑禁用入站 TLS 1.3,强制系统使用 TLS 1.2;</li><li>其次使用 netsh 工具修改 http.sys 绑定,让证书请求在初始握手阶段完成;</li><li>若均无效,则建议从配置文件中移除客户端证书要求。不过这些操作可能需要管理员权限,且可能在 Visual Studio 更新后被重置。</li></ul>
<p>简要介绍下关键术语:</p>
<ul><li>TLS 1.3 全称 Transport Layer Security 1.3,传输层安全协议 1.3 版本,提供加密通信的网络安全协议,相比早期版本简化握手过程并增强安全性</li><li>IIS Express 全称为 Internet Information Services Express,是轻量级版微软互联网信息服务,主要用于本地开发和测试环境。</li></ul>
頁:
[1]