是否可以以编程方式备份​​/还原Windows域/证书凭据?

时间:2010-09-07 06:51:29

标签: windows authentication winapi credentials

我一直在尝试使用Windows身份验证低级凭据API函数来备份/恢复凭据。

http://msdn.microsoft.com/en-us/library/aa374731%28VS.85%29.aspx#low_level_credentials_management_functions

但是,我发现虽然我可以使用CredEnumerate来获取系统上的所有凭据,但域类型凭据(记录在案)中缺少所有密码。有没有办法以与Windows GUI工具相同的方式备份/恢复这些凭据?

1 个答案:

答案 0 :(得分:0)

嗯,看起来我找到了答案,虽然我不喜欢它。执行此操作的唯一方法似乎是CreateRemoteThread()在lsass.exe(Windows安全子系统)中创建一个线程,然后使用从Lsasrv.dll导出的未记录的函数LsaICryptUnprotectData来枚举该线程中的凭据以解密凭据缓冲液中。

它可以工作,但我不确定我有把它放到我的软件中... ...