Я установил новый, чистый сервер для запуска нашего сайта asp.net 4. Я скопировал папку wwwroot с одного из существующих серверов, импортировал конфигурацию и импортировал файл pfx со «старого» сервера.
На нашем веб-сайте есть корзина для покупок, и во время процесса оплаты на этом новом сервере он выдает следующую ошибку:
[CryptographicException: Key not valid for use in specified state.]
System.Security.Cryptography.ProtectedData.Unprotect(Byte[] encryptedData, Byte[] optionalEntropy, DataProtectionScope scope) +374
Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.ProtectedKey.Unprotect() +15
Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.SymmetricCryptographer.Decrypt(Byte[] encryptedText) +66
Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.SymmetricAlgorithmProvider.Decrypt(Byte[] ciphertext) +187
Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Cryptographer.DecryptSymmetric(String symmetricInstance, Byte[] ciphertext) +114
Microsoft.Practices.EnterpriseLibrary.Security.Cryptography.Cryptographer.DecryptSymmetric(String symmetricInstance, String ciphertextBase64) +73
CompanyName.Objects.BasePayment.get_PaymentNumberLastFour() +17
[TargetInvocationException: Property accessor 'PaymentNumberLastFour' on object
'CompanyName.Objects.Payment' threw the following exception:'Key not valid for use in specified state.
Код не изменился, это тот же код на другом веб-сервере, поэтому я предполагаю, что он как-то связан с машинными ключами. Я попытался удалить ключи RSA из папки данных приложения, но безрезультатно. Я не очень знаком с криптографией в asp.net, так что, возможно, мне чего-то не хватает.
У кого-нибудь есть идеи?
Спасибо.