WebResource.axd Недопустимая длина данных для дешифрования.

У меня много ошибок в программе просмотра событий, которые выглядят так. Я изучил все возможные решения, но до сих пор не нашел подходящего;

Веб-сайт является частью веб-фермы; состояние сеанса хранится на сервере состояний; machinekey одинаков на всех серверах; я даже использовал iiscfg для копирования настроек iis на все серверы ... все равно безуспешно; в IIS, в свойствах веб-сайта, я убедился, что параметр «Проверить, существует ли файл» не отмечен для сопоставлений axd ...

Я попытался добавить в httphandlers следующую строку:

<add path="WebResource.axd" verb="GET" type="System.Web.Handlers.AssemblyResourceLoader" validate="True" />

но все равно безуспешно ...

Я действительно не знаю, как избавиться от этой ошибки. Если бы кто-нибудь мог мне помочь, я бы оценил это!

Вся трассировка стека:

 Request URL: http://xxxxxxx/WebResource.axd?d=Nu8EdkxldHhw5_nYPoeh3y1EbfLckWGua0HevmQkJr6irkrdL4WYMMP0l2yqOwM7Sd85LYeggTTTURTygkW9tqcBk1Q1&t=634242073212638436 
    Request path: /WebResource.axd 


 at System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount)
   at System.Security.Cryptography.CryptoStream.FlushFinalBlock()
   at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo)
   at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType)
   at System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

person GeoXYZ    schedule 08.02.2011    source источник
comment
HI GeoXYZ, у нас такая же проблема. Не могли бы вы сказать, какое это было обновление безопасности? Спасибо!   -  person Vasil Trifonov    schedule 11.02.2011
comment
название патча безопасности: NDP20SP2-KB2418241-x86.exe   -  person GeoXYZ    schedule 17.02.2011
comment
Это часть бюллетеня безопасности MS 10-070, и количество КБ зависит от вашей версии ОС / .NET. См. technet.microsoft.com/en-us/security/bulletin/MS10 -070   -  person Jorrit Schippers    schedule 29.11.2011


Ответы (4)


Мне, наконец, удалось исправить эту ошибку ... это было обновление безопасности, которое не было установлено на всех серверах и привело к тому, что шифрование предоставило разные значения, хотя машинный ключ был одинаковым на всех серверах.

Установил и теперь все нормально

person GeoXYZ    schedule 09.02.2011

Надеемся добавить более подробную информацию об этой проблеме и несколько поисковых запросов!

Проблема проявляется как ошибка ASP.Net при запросах к WebResource.axd и ScriptResource.axd, например:

http // mysite / MyApplication / WebResource.axd? d = 966IInUloJ ... & t = 6332662 ...

Это приведет к сбою доставленных таким образом изображений, скриптов, таблиц стилей и других ресурсов. Вы заметите, что параметр 'd' в строке запроса будет отличаться на некоторых из ваших хостов, несмотря на наличие одного и того же validationKey и т. Д. После исправления вы можете протестировать одну и ту же строку запроса на всех ваших хостах.


Ошибка сервера в приложении "/ MyApplication".

Длина данных для дешифрования недействительна.

Описание. Необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительных сведений об ошибке и ее происхождении в коде.

Сведения об исключении: System.Security.Cryptography.CryptographicException: длина данных для дешифрования недопустима.

Ошибка источника:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.


Трассировка стека:

[CryptographicException: Length of the data to decrypt is invalid.]
   System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount) +7588941
   System.Security.Cryptography.CryptoStream.FlushFinalBlock() +33
   System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo) +225
   System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType) +85
   System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context) +179
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75


Информация о версии: Microsoft .NET Framework Версия: 2.0.50727.5653; Версия ASP.NET: 2.0.50727.4444


В журнале событий Windows вы можете увидеть ошибку:


Event Type:   Warning
Event Source: ASP.NET 2.0.50727.0
Event Category:      Web Event 
Event ID:     1309
Date:         5/23/2011
Time:         3:31:13 PM
User:         N/A
Computer:     MYHOST
Description:
Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 5/23/2011 3:31:13 PM 
Event time (UTC): 5/23/2011 7:31:13 AM 
Event ID: a66bd05b39c34da6bc3bfd349aefdf24 
Event sequence: 71 
Event occurrence: 21 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/98/Root/MyApplication... 
    Trust level: Full 
    Application Virtual Path: /MyApplication
    Application Path: d:\inetpub\mysite\MyApplication\ 
    Machine name: MYHOST 

Process information: 
    Process ID: 15328 
    Process name: w3wp.exe 
    Account name: NT AUTHORITY\NETWORK SERVICE 

Exception information: 
    Exception type: CryptographicException 
    Exception message: Length of the data to decrypt is invalid. 

Request information: 
    Request URL: http://mysite/MyApplication/ScriptResource.axd?d=...&t=...

    Request path: /MyApplication/ScriptResource.axd 
    User host address: 1.1.1.1
    User:  
    Is authenticated: False 
    Authentication Type:  
    Thread account name: NT AUTHORITY\NETWORK SERVICE 

Thread information: 
    Thread ID: 9 
    Thread account name: NT AUTHORITY\NETWORK SERVICE 
    Is impersonating: False 
    Stack trace:    at System.Security.Cryptography.RijndaelManagedTransform.TransformFinalBlock(Byte[] inputBuffer, Int32 inputOffset, Int32 inputCount)
   at System.Security.Cryptography.CryptoStream.FlushFinalBlock()
   at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo)
   at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType)
   at System.Web.UI.Page.DecryptString(String s)

Речь идет об обновлении MS10-070. Даже если ваш хостинг считает, что он установлен, вам может потребоваться переустановить его, чтобы исправить впоследствии измененные библиотеки или что-то в этом роде.

Следует отметить, что в этом обновлении содержится KB2431728 - Зашифрованное содержимое в ASP.NET не расшифровывается или приводит к ошибкам для веб-сайта, который использует сохраненные файлы cookie для проверки подлинности с помощью форм или развернут в веб-ферме - см. подробности.

некоторые серверы или приложения в веб-ферме могут столкнуться с одним или несколькими из следующих симптомов: ... Исключения в обработчиках WebResource или ScriptResource

...

Обновление безопасности, указанное в бюллетене MS10-070 (http://www.microsoft.com/technet/security/bulletin/ms10-070.mspx), изменяет поведение шифрования по умолчанию в ASP.NET.

...

На всех серверах, обслуживающих веб-сайт ASP.NET в веб-ферме, необходимо установить обновление для системы безопасности. Если на некоторых серверах не установлено обновление безопасности, необходимо применить обновление к этим серверам.

person Troy Parsons    schedule 24.05.2011

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

person neonprimetime security    schedule 27.04.2012

Возможно, вы захотите взглянуть на это:

http://jagbarcelo.blogspot.com/2009/08/solution-padding-invalid-cannot-be.html

Обратите внимание, что у нас была аналогичная проблема, и установка атрибутов проверки и дешифрования раздела машинного ключа в web.config, похоже, помогла, например:

<machineKey validationKey='blah' decryptionKey='blah' validation='AES' decryption='AES'/>
person Paddy    schedule 08.02.2011
comment
мой тег выглядит так: ‹machineKey validationKey = '111' decryptionKey = '222' validation = 'SHA1' /› ... вы думаете, что эта ошибка вызвана тем, что у меня нет decryption = '' атрибут? - person GeoXYZ; 08.02.2011
comment
@GeoXYZ - Не помешает попробовать - мы несколько раз ходили по домам, пробуя разные вещи, чтобы понять это. - person Paddy; 08.02.2011