Переместил сайт asp.net на новый сервер, получив «Ключ недействителен для использования в указанном состоянии».ошибка - PullRequest
1 голос
/ 28 марта 2011

Я установил новый, чистый сервер для запуска нашего сайта 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, так что, возможно, мне чего-то не хватает.

У кого-нибудь есть идеи?
Спасибо.

Ответы [ 2 ]

2 голосов
/ 28 марта 2011

Как правило, в процессе шифрования существует нечто, основанное на машине, которое заставляет ключ работать только на машине, которая его сгенерировала, даже если вы используете какой-либо сторонний поставщик или ключ.

Попробуйте использовать следующую документацию MSDN для экспорта и восстановления ключа на новом сервере.

0 голосов
/ 28 марта 2011

Интересно, придется ли вам сдавать свой ключ, используемый для шифрования информации CC?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...