4

我有一个 IIS 托管的 WCF 服务,它使用ProtectedData该类来加密一些数据。很简单:

ProtectedData.Protect(data, null, DataProtectionScope.LocalMachine);

ProtectedData.Unprotect(encryptedData, null, DataProtectionScope.LocalMachine);

在开发机器上一切正常,但是当我在服务器(Windows Server 2008 R2)上部署 WCF 服务时出现故障。

System.Security.Cryptography.CryptographicException: The data is invalid.
   at System.Security.Cryptography.ProtectedData.Unprotect(Byte[] encryptedData, Byte[] optionalEntropy, DataProtectionScope scope)

问题是保护数据工作正常。没有错误,我有加密数据,看起来还可以。但是程序无法解密。我仔细检查了所有可能出错的地方。我什至尝试了一个小例子,其中我在加密后立即解密数据(不涉及可能导致其他错误的其他操作或转换)。它仍然失败。我试图在 Internet 上找出解决方案。他们中的大多数人都认为密钥无效并且有不适用于我的案例的解决方案。

有人可以指导我找出问题所在吗?

4

0 回答 0