自从升级到Win11 22H2后公司的WIFI就再也无法验证成功了,输入用户名和密码点击连接后,提示"无法连接网络"错误提示,导致笔记本只能插网线才能上网.
因为笔记本无法使用公司wifi,不插网线,内网就没法连,只能用手机热点,想要连网络必须连接手机热点,每次开会人家抱个电脑,我就只能拿着手机去开会,搞得领导以为我耍大牌,开会还在刷手机,无比痛苦.
寻求公司三流网络管理员解决无果,因为涉及到公司整个wifi的连接,那怂包也不敢乱动,我也没有认证服务器的权限,动不了服务器所以只能自己到网络上找解决方案如何在自己的客户端系统解决此问题.
在翻了无数篇网页后发现微软自己的技术支持论坛都解决不了,而且还建议用户回退系统,真是无语,后来发现可能是微软在Win11 22H2版本提升了安全性,导致大批需要wifi认证的企业用户无法正常使用,微软却还很硬气,说都是为了提升安全性,给出的解决方案就是建议升级认证服务器的版本,或者使用更高等级的认证协议标准.
于是找到了2个比较有用的连接如下:
[SOLVED] Windows 11 22H2 wifi issue
结果折腾了一番后仍然无用功, 还差点几次把系统搞崩,结果又是进PE又是修复BCD引导,总算把系统给救活了,于是在中间妥协了几个月后,我又把系统升级到了Windows11 23H2,本来寄希望是不是微软会解决一下这个问题,但也还是我多想了,问题依旧,但是热爱折腾的我还是不甘心啊,为啥别人明明使用哪些方法就可以解决了啊,难道我遇到的不是同样的问题?
还好我之前把未升级到22H2版本的老系统给做成了备份,于是想对比一下新老系统在wifi认证时有啥不同,又一番骚操作引导进入到老的系统,连接公司WIFI,提示输入用户名密码,认证一切正常,WIFI成功连接到公司网络,安装了网络抓包工具,分别在老系统和Win11 23H2系统专门抓了无线网卡的通讯包做对比.
正常连接wifi认证的通讯抓包
认证不通过的抓包:
可以看到在客户端发出TLS握手包后,服务侧直接回了EAP:Failure错误,然后就没有然后了WTF?
事件查看器里面记录了错误日志:
EAP 方法类型 25 的身份验证失败。错误为 0x54F。
于是又去搜索了一番关于eap认证和tls相关的问题
然并卵,仍然不能解决问题,还是在tls发送握手包后,服务器就立马回失败信令,难道是握手包有问题?
马上对比不同系统的抓包文件,发现还真是不一样
通过对比可以看出,包的数据长度不同是因为TLS握手包声明的加密方式多少不一样,Win11 23H2的包明显少了几种加密方式,那么就去搜一下为啥缺少的这几种加密方式,找到一些信息就是说加密方式有漏洞建议屏蔽,也在微软的网站上找到相关的TLS套件说明:
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)
禁用3DES和DES弱加密算法,保证SSL证书安全_避免使用idea、des和3des算法-CSDN博客
TLS/SSL (Schannel SSP) 中的密码套件 - Win32 apps | Microsoft Learn
从上面页面的连接找到
Windows 11 v22H2 中的 TLS 密码套件。 - Win32 apps | Microsoft Learn
从Win11 22H2开始为了安全考虑,微软默认禁用了某些加密方式
Microsoft Schannel 提供程序支持以下密码套件,但默认情况下未启用:
展开表
密码套件字符串 允许SCH_USE_STRONG_CRYPTO TLS/SSL 协议版本 TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 否 TLS 1.2 TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 是 TLS 1.2 TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA 否 TLS 1.2、TLS 1.1、TLS 1.0、SSL 3.0 若要添加密码套件,请部署组策略或使用 TLS cmdlet:
- 若要使用组策略,请在“计算机配置”“管理模板>”“网络 > SSL 配置设置”>下配置 SSL 密码套件顺序,其中包含要启用的所有密码套件的优先级列表。
- 若要使用 PowerShell,请参阅 TLS cmdlet。
微软给出了PowerShell命令:Enable-TlsCipherSuite
管理员权限运行powershell命令行,执行:
Enable-TlsCipherSuite -Name "TLS_RSA_WITH_3DES_EDE_CBC_SHA"
再次尝试连接公司wifi,弹出认证对话框中输入用户名密码点击确认,在进度条转动了几圈后,bingo竟然成功认证,wifi图标显示已连接.
至此,顺利解决了遇到的在升级Win11 22h2后无法通过企业wifi认证的问题,如果有同类问题的同学可以试试此方法,希望能帮你解决难题,不用回退系统,也不用升级硬件.
更新
如果升级22H2后执行添加tls使能命令仍然无法连接wifi认证:
需先在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasMan\PPP\EAP\13
添加类型为DWORD的注册表键值TlsVersion值为0xFC0