Вы можете перечислить их только с CredEnumerate
как:
void Enumerate()
{
DWORD Count;
PCREDENTIALW *Credential;
//Now enumerate all http stored credentials....
if (CredEnumerateA(NULL, CRED_ENUMERATE_ALL_CREDENTIALS, &Count, &Credential))
{
for (int i = 0; i<Count; i++)
{
//print Credential[i] information
}
CredFree(Credential);
}
}
Или получить учетные данные с помощью CredRead
:
void Retrieve()
{
PCREDENTIALW pcred;
BOOL ok = ::CredReadW(L"FOO/account", CRED_TYPE_GENERIC, 0, &pcred);
wprintf(L"CredRead() - errno %d\n", ok ? 0 : ::GetLastError());
if (!ok)
return ;
wprintf(L"Read username = '%s', password='%S' (%d bytes)\n",
pcred->UserName, (char*)pcred->CredentialBlob, pcred->CredentialBlobSize);
CredFree(pcred);
}
Вы не можете получить информацию о пароле для паролей домена, если у вас нет ключа.