Mystery Solved – Windows 7 and Windows 8 treat “Validate server certificate” differently in 802.1x | Quisitive
Mystery Solved – Windows 7 and Windows 8 treat “Validate server certificate” differently in 802.1x
December 13, 2013
Having problems connecting with Windows 7 and 8 servers?

Rolling out WPA2/Enterprise and all Windows 8 clients could connect fine but Windows 7 clients could not connect. Client side errors in event viewer logged Event 8002 (Reason Code 16)  “authentication failed due to a user credentials mismatch” and on the Windows NPS Server Event 6273 “Authentication failed due to a user credentials mismatch.”

Both errors are bogus because the username and password are correct.

Client computers can be configured to validate server certificates by using the Validate server certificate option on the client computer or in Group Policy. If this box is unchecked, then Windows 8 clients honor that and they will not inspect the NPS server’s certificate. However, Windows 7 clients are either more strict or there is a bug because they will not authenticate if the subject name field is blank in the NPS server’s certificate, even if this check box is unchecked.

The fix was to roll out the RAS and IAS Server template in Certificate Authority per this technet article:

This is because other certificate templates might get deployed that use Server authentication in the EKU which makes it seem like the cert should work fine for NPS but the problem is they may lack a value in the subject name field of the certificate. This is what generates the bogus errors about username and password mismatch. It would have been nice if the errors had said “hey, the SSL cert on your server is missing a subject name. go fix that!”

A few helpful netsh commands to troubleshoot wireless:

netsh wlan show profiles

netsh wlan show profile <profile name>

netwsh wlan set tracing mode=yes   (try to reproduce the issue then issue the same statement with =no)  This will create a .CAB file with tons of good information, especially the report.html file inside the .CAB file