0
votes

Since few days we have an error that occurs many times on our server. It starts throwing this error after we installed .net Framework 4.5.

The exact error is (french server) :

Code de l'événement : 3012 Message d'événement : Une erreur s'est produite lors du traitement d'une requête de ressource de script ou Web. L'identificateur de ressource n'est pas parvenu à effectuer le déchiffrement. Heure de l'événement : 05/02/2014 09:50:45 Heure de l'événement (UTC) : 05/02/2014 08:50:45 ID d'événement : 710069c1cd8a460aa3286c5cf0d6e9f2 Séquence d'événements : 359 Occurrence de l'événement : 2 Code de détail de l'événement : 0

Informations d'application : Domaine d'application : /LM/W3SVC/1/ROOT/d-1-130360636646508906 Niveau de confiance : Full Chemin d'accès virtuel de l'application : /d Chemin d'accès à l'application : XXX\d\ Nom d'ordinateur : XXX

Informations sur le processus : ID de processus : 1568 Nom du processus : w3wp.exe Nom du compte : AUTORITE NT\SERVICE RÉSEAU

Informations sur l'exception : Type d'exception : HttpException Message d'exception : Impossible de valider les données. à System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Boolean useValidationSymAlgo, Boolean useLegacyMode, IVType ivType, Boolean signData) à System.Web.UI.Page.DecryptString(String s, Purpose purpose) à System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context)

Informations sur la demande : URL de la demande : https://domain.name:443/d/WebResource.axd?d=AHTFFy3DIo9bsYFwO3I4Y34fpt9AGkUqpBPDo3ne-g4TTzDtAtrcFpAfxSySl8YFQIGABYKiPvpAFLWXz5bjwTziJKdW44FBN98sPgH_vFGkZVoP8ID1rgGf5vJ3t6jZjbIgf5wEue6afCDa3EGJFWIK1OASzWIE8mTxwmeXNwHM9ieKGqYV8c1okl2k0AUC0&t=635264944860000000 Chemin d'accès à la demande : /d/WebResource.axd Adresse d'hôte de l'utilisateur : XXX Utilisateur : XXX Est authentifié : True Type d'authentification : Forms Nom du compte de thread : AUTORITE NT\SERVICE RÉSEAU

Informations sur le thread : ID de thread : 10 Nom du compte de thread : AUTORITE NT\SERVICE RÉSEAU Emprunte une identité : False Trace de la pile : à System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Boolean useValidationSymAlgo, Boolean useLegacyMode, IVType ivType, Boolean signData) à System.Web.UI.Page.DecryptString(String s, Purpose purpose) à System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler.ProcessRequest(HttpContext context)

We know there is some posts on stackoverflow that mention this error but none of them helped us...

This error occurs only on Webresource.axd requests.

We tried many tricks to avoid this error without any success :

  • Define static keys in the MachineKey node in the Web.config : no success

  • Use 3DES encryption and Decryption for the MachineKey : no success

  • Set enableViewStateMac="false" in Web.config : no success

  • Set EnableCDN="true" on all ScriptManager in the application : no success

  • Set EnableViewState="false" on all ScriptManager in the application : no success

  • Disable "Dynamic content compression" and "Static content compression" : no success

We also know there is a KB (http://support.microsoft.com/kb/911722) that seems to be related to this error but the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy is set to 0 on our server so it's not the same problem.

This error is just crazy ! It only happen on one web application on the server (the others app uses Webresources.axd too and doesn't throws any error like this).

Does anyone have been able to understand and resolve this error ????

1

1 Answers

1
votes

What is the User-Agent header associated with these requests? Sometimes web indexers (Google, Bing) will cache old WebResource.axd URIs. When the .NET Framework is updated on a server, these URIs change, and the web indexers will eventually stop hitting the old URIs after receiving enough 404s.

It's also possible that these requests represent web browsers that have cached the old URIs. You can look at the If-* request headers to determine this. In this case, the error will go away as clients refresh their pages.

Finally, was this machine up to date with all the latest .NET Framework patches before upgrading to .NET 4.5? If not, this lends weight to the suggestion that this is simply a caching issue and that it will go away as pages are refreshed.