我有一个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)
问题是保护数据工作正常。没有错误,我有加密数据,似乎没问题。但程序无法解密。 我仔细检查了一切可能出错的地方。我甚至尝试了一个小例子,其中我在加密后解密数据(没有其他操作或涉及的转换可能导致其他错误)。它仍然失败。 我试图在互联网上找出解决方案。其中大多数关于密钥无效并且解决方案不适用于我的案例。
有人可以指导我找出问题所在吗?