gpt4 book ai didi

c# - 尝试使用 DPAPI 保护数据时访问被拒绝

转载 作者:行者123 更新时间:2023-12-04 05:24:24 26 4
gpt4 key购买 nike

我正在 Windows 8 上开发一个 c# .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加密

我该怎么做才能解决这个问题?

失败的应用程序是在当前登录用户下运行的控制台应用程序。

当使用提升的权限运行应用程序时,它仍然失败并拒绝访问。

我尝试重置登录密码并解决了问题。

怎么会发生这样的事情呢?

最佳答案

出现这种情况是因为DPAPI的MasterKey没有同步。典型的原因是:

  • 管理员更改密码(不提供旧密码且不在域中 - 网络用户管理员密码)
  • 第三方认证包

您可以使用 CryptProtectData(CRYPTPROTECT_CRED_SYNC) 在代码中手动同步 MasterKey

问候,文森特

关于c# - 尝试使用 DPAPI 保护数据时访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13361242/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com