WinAPI CredEnumerate仅返回Windows凭据

时间:2017-05-10 22:42:16

标签: c# winapi

我正在使用浏览器,而且我使用凭据存储来保存密码。

我的问题是CredEnumerate函数只返回Windows凭据,但实际上我需要Web凭据。我正在使用这个课程:https://gist.github.com/meziantou/10311113

我是否需要将不同的参数传递给CredEnumerate函数才能返回Web凭据?我无法在MSDN上看到有关此内容的任何信息。

2 个答案:

答案 0 :(得分:1)

CredEnumerate函数中,将第二个flag参数设置为1。

查看CRED_ENUMERATE_ALL_CREDENTIALS的以下文档链接 https://basarat.gitbooks.io/typescript/docs/types/lib.d.ts.html

因此,尝试将第1个参数传递给第1个参数而不是零。

bool ret = CredEnumerate(null, 1, out count, out pCredentials);

答案 1 :(得分:1)

您定位的是哪种操作系统?对于IE,从Windows 8开始,我建议您查看Windows.Security.Credentials.PasswordVault RetrieveAll()RetrievePassword()

无论如何,最重要的是它确实取决于浏览器......我认为这篇文章会对你有很大的帮助:http://raidersec.blogspot.co.uk/2013/06/how-browsers-store-your-passwords-and.html(以及文章中的链接,即{。{}}} )