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