可能安全性是一个更合适的位置,但我会先在这里问。
如果我想使用 DPAPI 加密一些明文,我有两个范围选项,CurrentUser 和 LocalMachine。假设我想加密需要另一个用户解密的数据,有没有办法使用 .NET 中的一些函数来做到这一点?
如果 ProtectedData.Protect 方法有重载,那就太好了,例如:
ProtectedData.Protect(byte[] plaintextBytes, byte[] salt, UserInformation userInformation);
whereUserInformation
只是一个具有域、用户名和密码属性的 POCO。
这里的用例是在登录(交互式)用户以外的帐户的支持下运行的服务或计划任务,但这需要由另一个用户安装。
我可以编写一个实用程序来加密字符串,然后使用 RunAs 功能来运行它,但除此之外还有其他方法 - 如果我有用户的域、用户名和密码 - 做我需要的事情吗?