“密钥在指定状态下使用无效”:如何加载要模拟的用户配置文件

本文关键字:加载 何加载 配置文件 用户 模拟 密钥 状态 无效 | 更新日期: 2023-09-27 17:56:46

我们有这个 C# 代码来解密数据:

ProtectedData.Unprotect(pdata, null, DataProtectionScope.CurrentUser);

该方法引发"密钥在指定状态下使用无效"。

数据最初是在具有相同 ID 的另一台计算机上加密的。

根据此方法的 MSDN 文档:

如果在模拟期间使用此方法,可能会收到以下错误:"密钥在指定状态下使用无效。若要防止此错误,请在调用该方法之前加载要模拟的用户的配置文件。

我真的不明白最后一句话。如何加载要模拟的用户的配置文件?

“密钥在指定状态下使用无效”:如何加载要模拟的用户配置文件

检查ProtectedData类描述:

此类提供对数据保护 API (DPAPI) 的访问。这是操作系统提供的服务,不需要其他库。它使用用户或计算机凭据提供保护,以加密或解密数据。

这意味着您不能使用不同的计算机,除非您以某种方式设法在两台计算机上拥有相同的用户帐户,然后您可以加载它。