Problem is most likely that the self signed cert broke. Yes as my last resore before blowing away the whole server is I deleted the server.domain.com cert from the Personal Store and the Trusted Root store in certmgr.msc .... Then using powershell, recreated the self signed cert using this command:
On the NPS server type: New-SelfSignedCertificate -Subject “server1.domain.com” -DnsName “server1.domain.com”, “domain.com” -CertStoreLocation “cert:\LocalMachine\My” -KeyAlgorithm RSA -KeyLength 2048 -KeyExportPolicy Exportable -NotAfter (Get-Date).AddYears(7)
AddYears(7) makes this cert work for 7 years. Change to whatever you desire...
Note: Change server1.domain.com to whatever your server and domain are
Then once that is done, right click - export... export that cert out of your personal store and put a password on it or it wont work.
Then after it is exported, find it, right click it, click install enter the password and put it in the Trusted Root Certificate store.
Open NPS and look at your policies for EAP and make sure in the dropdown it has your new cert selected. stop and start NPS
Then try your NPS authentication again. I bet it works.