有没有办法使用Windows API复制“802.1x设置”菜单中“保存凭据”按钮的功能?或者其他一些永久保存无线配置文件的PEAP凭证的方法。
我已尝试WlanSetProfileEapXmlUserData
功能设置MsChapV2:Username
和MsChapV2:Password
。它会缓存凭据,但不会永久保存它们。
UPD:管理以找到存储在HKLM\SOFTWARE\Microsoft\Wlansvc\UserData\Profiles\{GUID}
中的用户数据,但它已加密。我想CryptProtectData用于加密它。只要我知道使用了哪种盐。
答案 0 :(得分:3)
HKLM\SOFTWARE\Microsoft\Wlansvc\UserData\Profiles\{GUID}\MSMUserData
包含与PEAP凭据相关的数据。
它使用CryptProtectData
加密。解密给了我们一个二进制blob,幸运的是很容易理解。它包含用户名和可能的纯文本登录域。密码信息使用CryptProtectData
功能再次加密,并放置在blob的末尾。
加密没有LOCAL_MACHINE
标志,因此只有本地系统用户才能生成新的凭据数据。将它放入注册表项后,Windows认为您拥有一组已保存的凭据,即使身份验证失败,也不会要求它们。
答案 1 :(得分:0)
您可以在我的答案https://superuser.com/a/1259271/780533中找到有关MSMUserData的WPA2-Enterprise凭据加密方案的详细信息,以及如何找到存储在Windows 7上的无线网络的受保护EAP凭据?&#34 ;题。特别是"不可读的角色" (请注意,它们以01 00 00 00 d0 8c 9d df ...开头)在解密的MSMUserData中的用户名后面是加密密码,因此您需要使用CryptProtectData再次解密。