O conteúdo encriptado do ASP.NET não é desencriptado ou dá origem a erros num Web site que utilize cookies de Autenticação de Formulários permanentes ou que seja implementado numa Web farm

Traduções de Artigos Traduções de Artigos
Artigo: 2431728 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sintomas

Após aplicar a actualização de segurança MS10-070 em servidores que sirvam Web sites Microsoft ASP.NET implementados numa Web farm, alguns servidores ou aplicações da Web farm podem apresentar um ou mais dos seguintes sintomas:
  • Falha ao desencriptar dados
  • Excepções nos identificadores WebResource ou ScriptResource
  • Falhas de autenticação na utilização da Autenticação de Formulários
  • Excepções "Estado de Visualização Inválido"
  • Excepções "Não é possível validar os dados" ao tentar desencriptar dados como cookies de Autenticação de Formulários
  Para além da falha poder manifestar-se como uma excepção de aplicação ao aceder à aplicação ASP.NET, também podem ser registadas informações semelhantes às que se seguem no registo de aplicações.


Mensagem 1:

System.Web.HttpException : Não é possível validar os dados em System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo, Boolean signData)

Mensagem 2:

Tipo de Evento: Aviso
Origem do Evento: ASP.NET 2.0.50727.0
Categoria do Evento: Evento Web
ID do Evento: 1309
Data: Data
Hora: Hora
Utilizador: N/D
Descrição:
Código do evento: 3005
Mensagem do evento: Ocorreu uma excepção não processada.
Informações da excepção:
Tipo de excepção: HttpException
Mensagem de excepção: Não é possível validar os dados.

Causa

A actualização de segurança à qual o boletim MS10-070 se refere altera o comportamento predefinido da encriptação no ASP.NET. Após a instalação da actualização de segurança, o novo comportamento predefinido efectua a validação, bem como a encriptação, mesmo que apenas seja necessária a encriptação. Este comportamento predefinido altera o payload encriptado nos servidores em que se aplique esta actualização. O payload pode incluir o estado de visualização e cookies de autenticação de formulários. Se uma Web farm tiver apenas alguns servidores em que se tenha aplicado a actualização de segurança, existirá uma diferença de métodos de encriptação e desencriptação no mesmo payload, através dos diferentes servidores na Web farm, pelo que esta diferença de comportamento resulta em excepções. Este comportamento também pode ocorrer se os cookies de autenticação de formulários que permaneçam nos sistemas antes da aplicação da actualização de segurança forem consumidos após a aplicação da actualização de segurança.

Além disso, os métodos de encriptação e desencriptação são diferentes para as várias versões de service packs do Microsoft .NET Framework 2.0. Por conseguinte, se existirem diferentes níveis de service packs do .NET Framework num ambiente de Web farm que tenha a actualização de segurança instalada, isto resultará em payloads encriptados diferentes e numa falha de desencriptação semelhante.

Resolução

Confirme se as condições seguintes se verificam em todos os servidores que sirvam o conteúdo do ASP.NET:
  • Todos os servidores que sirvam um Web site do ASP.NET na Web farm têm de ter instalada a actualização de segurança. Caso alguns servidores não tenham a actualização de segurança instalada, será necessário aplicá-la a estes servidores.
  • Todos os computadores com a mesma versão do .NET Framework 2.0 na Web farm têm de estar no mesmo nível de service packs caso a actualização de segurança MS10-070 seja aplicada a todos os sistemas. Se o nível de service packs dos servidores for diferente, será necessário actualizar todos os servidores para o service pack mais recente e reaplicar todas as actualizações de segurança. Por conseguinte, se alguns servidores da Web farm tiverem o .NET Framework 2.0 SP1 e outros tiverem o .NET Framework 2.0 SP2, será necessário actualizar todos os servidores com o .NET Framework 2.0 SP1 para o .NET Framework 2.0 SP2 antes de aplicar a actualização de segurança a todos os servidores na Web farm.
  • Certifique-se de que as aplicações não estão a consumir dados encriptados, tais como cookies de Autenticação de Formulários gerados antes da aplicação da actualização. Os dados encriptados anteriormente terão de ser actualizados após a aplicação da actualização de segurança.
Para mais informações sobre como detectar as versões do .NET Framework e sobre a instalação de actualizações de segurança nos servidores, consulte a secção ?Referências?.

Referências

Para mais informações sobre o estado de visualização do ASP.NET, consulte o seguinte artigo:
Descrição geral do Estado de Visualização do ASP.NET
Para mais informações sobre a Autenticação de Formulários do ASP.NET, consulte o seguinte artigo:
Descrição geral da Autenticação de Formulários do ASP.NET
Para mais informações sobre permissões e cookies da Autenticação de Formulários do ASP.NET, clique no número de artigo que se segue para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
910443 Noções sobre a Permissão e o Cookie da Autenticação de Formulários
Para mais informações sobre o processador de Recursos Web do ASP.NET, clique no número de artigo que se segue para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
910442 Trabalhar com Recursos Web no ASP.NET 2.0

Propriedades

Artigo: 2431728 - Última revisão: 22 de dezembro de 2011 - Revisão: 6.0
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 4.0
  • Microsoft .NET Framework 3.5 Service Pack 1
  • Microsoft .NET Framework 3.5
  • Microsoft .NET Framework 2.0 Service Pack 2
  • Microsoft .NET Framework 1.1 Service Pack 1
Palavras-chave: 
kbprb kbfix kbtshoot kbexpertiseinter kbsurveynew KB2431728

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com