我有一个运行 NPS 的 Windows 2008 Std 服务器。应用最新一轮更新后(包括 2012 年 4 月的根证书 KB931125(参见: http: //support.microsoft.com/kb/933430/)),EAP 身份验证因格式错误而失败。
示例错误(安全/事件 ID 6273),为简洁起见被截断:
Authentication Details:
Proxy Policy Name: Use Windows authentication for all users
Network Policy Name: Wireless Access
Authentication Provider: Windows
Authentication Server: nps-host.corp.contoso.com
Authentication Type: PEAP
EAP Type: -
Account Session Identifier: -
Reason Code: 266
Reason: The message received was unexpected or badly formatted.
NPS 策略(无线访问)已相应配置(用于约束/身份验证方法)
EAP Types:
Microsoft: Protected EAP (PEAP) - with a valid certificate from ADCS
Microsoft: Secured password (EAP-MSCHAP v2)
Less secure authentication methods:
Microsoft Encrypted Authentication version 2 (MS-CHAP-v2)
User can change password after it has expired
Microsoft Encrypted Authentication (MS-CHAP)
User can change password after it has expired
我们已经在没有上述补丁的情况下测试了不同的 RADIUS 服务器,并删除了 EAP 作为身份验证类型并取得了成功。
还有其他人遇到过这个问题吗?
我要把这个放在这里,因为我昨天经历过这个,我的第一个搜索让我想到了这个问题。
正如 ALF4 提到的,问题最终是根证书太多。它发生在 Windows 更新根证书之后。
我们通过更改注册表来解决此问题,以防止 NPS 服务器将受信任的根证书列表发送到客户端。
这立即解决了问题,客户可以再次连接。
特别感谢 Brian 指出KB933430,尽管它是针对 Windows Server 2003 的,但它修复了我们的 Server 2008 和 Server 2008 R2 框。
在 2012 年 12 月,当 Microsoft 在 2012 年 12 月 11 日搞砸了更新 KB931125,意外地将根证书更新应用于客户端和服务器时,许多人都遇到了这个问题,而它应该只应用于客户端。这将数百个第 3 方根证书添加到服务器上的受信任根证书列表中,导致出现如您所示的问题。
我花了足够长的时间才找到它,但 MS 在KB2801679“安装 KB 931125 后的 SSL/TLS 通信问题”上有一篇文章和修复可用。错误的更新已经在 Windows 更新和 WSUS 上过期,但如果你已经应用它,您可以通过在所有受影响的服务器上运行文章中提供的 Fix-it 来清理根证书列表。
我认为它以比上面提到的注册表黑客攻击或手动证书清理更干净的方式解决了问题。
如果您更愿意手动执行它,修复实质上是删除所有第 3 方根证书,之后任何需要的根证书都会从 Windows 更新自动重新创建。只需确保您已同步 WSUS 并接受 KB931125 的过期。
Fix-it 似乎对我有用,无需重新启动或其他更新。我删除了 Jason 的回答中提到的注册表修改,并且仍然能够通过 NPS 对 Wi-Fi 进行身份验证。
根证书!!您发送的太多因此“格式错误”。删除过期的并尽可能缩小列表,它会再次开始工作。
http://support.microsoft.com/kb/933430。我使用了方法 3,并且已备份并运行。