ProtectedData
一部のデータを暗号化するためにクラスを使用する IIS がホストする WCF サービスがあります。単純な:
ProtectedData.Protect(data, null, DataProtectionScope.LocalMachine);
と
ProtectedData.Unprotect(encryptedData, null, DataProtectionScope.LocalMachine);
開発マシンではすべて正常に動作しましたが、WCF サービスをサーバー (Windows Server 2008 R2) にデプロイしたときに何かが失敗しました。
System.Security.Cryptography.CryptographicException: The data is invalid.
at System.Security.Cryptography.ProtectedData.Unprotect(Byte[] encryptedData, Byte[] optionalEntropy, DataProtectionScope scope)
問題は、保護データが正常に機能することです。エラーはありません。暗号化されたデータがあります。問題ないようです。しかし、プログラムは復号化に失敗します。間違っている可能性があるものはすべて再確認しました。暗号化の直後にデータを復号化する小さな例も試しました (他のエラーを引き起こす可能性のある他の操作や変換は含まれていません)。それでも失敗します。インターネットで解決策を見つけようとしました。それらのほとんどは、キーが無効であり、私のケースには当てはまらない解決策を持っていました。
何が問題なのかを知るために誰かが私を導くことができますか?