我正在 Windows 8 上开发 ac# .net 3.5 应用程序。
我需要使用 DPAPI 加密数据。它在我的所有机器上都可以正常工作,除了一台机器出现以下异常:System.Security.Cryptography.CryptographicException 消息:访问被拒绝。
byte[] bytes;
bytes = ProtectedData.Protect(Encoding.UTF8.GetBytes(argsStr.ToString()), null, DataProtectionScope.CurrentUser);
当我将 DataProtectionScope.CurrentUser 更改为 DataProtectionScope.LocalMachine 时,它可以正常工作。
似乎有人拒绝了当前用户执行 DAPI 加密的访问权限
我能做些什么来解决这个问题?
失败的应用程序是在当前登录用户下运行的控制台应用程序。
当使用提升的权限运行应用程序时,它仍然失败并拒绝访问。
我尝试重置登录密码,它解决了这个问题。
怎么会发生这样的事情?