O conteúdo criptografado no ASP.NET não foi descriptografado ou resulta em erros para um site que usa cookies persistentes de Autenticação de formulários ou que é implantado em web farms

Traduções deste artigo Traduções deste artigo
ID do artigo: 2431728 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Depois de aplicar a atualização de segurança MS10-070 em servidores que atendem os sites do Microsoft ASP.NET que são implantados em web farms, alguns servidores ou aplicativos na web farm poderão encontrar um ou mais dos seguintes sintomas:
  • Falha ao descriptografar dados
  • Exceções nos manipuladores WebResource ou ScriptResource
  • Falhas de autenticação ao usar a autenticação de formulários
  • Exceções "Viewstate inválido"
  • Exceções "Não é possível validar os dados" ao tentar descriptografar os dados, como o cookie de autenticação de formulários
 A falha foi manifestada como uma exceção de aplicativo ao acessar o aplicativo do ASP.NET e as informações que são semelhantes às seguintes também podem ser registradas no log do Aplicativo. 


Mensagem 1:

System.Web.HttpException : Não foi 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 da Web
Identificação do Evento: 1309
Data: Data
Hora: Hora
Usuário: N/D
Descrição:
Código do evento: 3005
Mensagem de evento: Ocorreu uma exceção sem tratamento.
Informações da exceção:
Tipo de exceção: HttpException
Mensagem da exceção: Não é possível validar os dados.

Causa

A atualização de segurança corrigida pelo boletim MS10-070 altera o comportamento padrão da codificação no ASP.NET. O novo comportamento padrão depois da atualização de segurança é instalado para executar validação além da criptografia mesmo se somente esta for solicitada. Esse comportamento padrão altera a carga criptografada em servidores onde essa atualização for aplicada. A carga pode incluir o estado de exibição e os cookies de autenticação de formulários. Se uma web farm tiver somente alguns servidores nos quais a atualização de segurança é aplicada, haverá uma diferença na criptografia e nos métodos de descrição da mesma carga em servidores diferentes, e essa diferença em comportamento resulta em exceções. Esse comportamento também poderá ocorrer se os cookies de autenticação de formulários que forem persistentes em sistemas antes de aplicar a atualização de segurança forem consumidos depois que a atualização de segurança for aplicada.

Além disso, os métodos de criptografia e descriptografia são diferentes para cada versão de service pack do Microsoft .NET Framework 2.0. Portanto, ter diferentes níveis de service packs para o .NET Framework em um ambiente de web farm que possui a atualização de segurança instalada resulta em cargas de criptografia diferentes e em uma falha de descriptografia semelhante.

Resolução

Verifique se que as seguintes condições são verdadeiras em todos os servidores que atendem o conteúdo do ASP.NET:
  • Todos os servidores que atendem a um site ASP.NET na web farm devem instalar a atualização de segurança. Aplique a atualização nos servidores que ainda não têm a atualização de segurança instalada.
  • Todos os computadores que executam alguma versão do .NET Framework 2.0 na web farm deverão estar no mesmo nível de service pack se a atualização de segurança MS10-070 estiver aplicada em todos os sistemas. Se houver uma diferença nos níveis de service pack dos servidores, atualize todos eles e reaplique todas as atualizações de segurança. Portanto, se alguns servidores na web farm estiverem executando o .NET Framework 2.0 SP1 e outros estiverem executando o .NET Framework 2.0 SP2, todos os servidores do .NET Framework 2.0 SP1 devem estar atualizados para .NET Framework 2.0 SP2 antes de aplicar a atualização de segurança em todos os servidores da web farm.
  • Verifique se as aplicações não estão consumindo dados criptografados, como os cookies de autenticação de formulários que foram gerados antes da aplicação da atualização. Os dados criptografados anteriormente devem ser atualizados após a aplicação da atualização de segurança.
Para obter mais informações sobre como detectar as versões do .NET Framework e para obter a instalação da atualização de segurança nos seus servidores, consulte a seção "Referências".

Referências

Para obter mais informações sobre o estado de exibição do ASP.NET, consulte o artigo a seguir:
Visão geral do estado de exibição do ASP.NET
Para obter mais informações sobre a Autenticação de formulários do ASP.NET, consulte o artigo a seguir:
Visão geral da autenticação de formulários do ASP.NET
Para obter mais informações sobre os tíquetes e os cookies da autenticação de formulários do ASP.NET, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:
910443 Entendendo o tíquete e o cookie de autenticação de formulários
Para obter mais informações sobre o manipulador do recurso da Web do ASP.NET, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:
910442 Trabalhando com recursos da Web no ASP.NET 2.0

Propriedades

ID do artigo: 2431728 - Última revisão: quinta-feira, 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