我使用DPAPI来存储XML数据。CryptProtectData后的数据存储在文件中。在我的一个用例中,需要在任何用户登录到工作站之前对这些数据进行解密。因为我不能在其中使用用户特定的密钥,所以我在加密时设置标志"CRYPTPROTECT_LOCAL_MACHINE“。熵键是一种静态文本。
除了我在登录前调用它(没有用户登录)外,取消保护在所有情况下都是有效的。返回错误87 (参数不正确)。
我重新阅读了整个DPAPI文档,看看密钥是如何生成的。但是,不幸的是,没有足够的信息来显示这个特定的标志。
在这种情况下,CryptUnprotectData会起作用吗?它能被在某个用户会话下运行的应用程序调用吗?任何帮助都是非常感谢的。
谢谢你,D
发布于 2014-03-07 11:53:50
我们使用DPAPI存储服务所需的密码:
当机器启动时(即登录之前),服务就会运行;所有服务都正常工作。
发布于 2016-07-22 23:57:39
微软的文档在这一点上确实含糊不清。帕斯凯普写了一篇很好的文章,叫做DPAPI秘密。
您的问题的相关部分是在Windows 7中恢复无线连接密码,它详细描述解密所需的数据:
E:/Windows/System32/Microsoft/Protect/S-1-5-18/User文件夹中的系统主密钥”根据这些名称,如果这些文件受到操作系统的保护,并且只有登录用户才能访问,我也不会感到惊讶,尽管其他人可能能够确认。
https://stackoverflow.com/questions/16539757
复制相似问题