Poderá receber uma mensagem de erro quando acede a páginas Web do ASP.NET com ViewState activada depois de actualizar a partir do ASP.NET 1.1 para ASP.NET 2.0

Traduções de Artigos Traduções de Artigos
Artigo: 911722 - Ver produtos para os quais este artigo se aplica.
importante Este artigo contém informações sobre como modificar o registo. Certifique-se uma que a cópia de segurança do registo antes de o modificar. Certifique-se que sabe como restaurar o registo se ocorrer um problema. Para obter mais informações sobre como efectuar uma cópia de segurança, restaurar e modificar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
256986Descrição do registo do Microsoft Windows
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Depois de actualizar a partir do Microsoft ASP.NET 1.1 para o Microsoft ASP.NET 2.0, algumas aplicações baseados no ASP.NET podem não funcionar correctamente. Além disso, quando acede a páginas Web do ASP.NET com ViewState activado, poderá receber a seguinte mensagem de erro:
[InvalidOperationException: esta implementação não faz parte de algoritmos criptográficos Windows Platform FIPS validadas.]
System.Security.Cryptography.RijndaelManagedctor() +200 System.Web.Configuration.MachineKeySection.ConfigureEncryptionObject() +2088
System.Web.Configuration.MachineKeySection.EnsureConfig() +904
System.Web.Configuration.MachineKeySection.GetEncodedData (memória intermédia do byte [], byte [] Modificador, Int32 início, Int32 & comprimento) +88
System.Web.UI.ObjectStateFormatter.Serialize(Object stateGraph) +1320
System.Web.UI.Util.SerializeWithAssert(IStateFormatter Formatter, Object stateGraph) +248
System.Web.UI.HiddenFieldPageStatePersister.Save() +280
System.Web.UI.Page.SaveAllState() +6488
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +17240
--------------------------------------------------------------------------------
Informações sobre a versão: Microsoft .NET Framework Version:2.0.50606.0; ASP.NET Version: 2.0.50606.0

Causa

Este problema ocorre quando se verificam as seguintes condições:
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
    subchave de registo estiver definido como 1.
  • ASP.NET 2.0 utiliza a implementação do algoritmo AES RijndaelManaged quando processa ver dados de estado. A implementação ReindaelManaged não foi certificada pelo National Institute of Standards and Technology (NIST) como compatível com a Federal informações Processing Standard (FIPS). Por conseguinte, o algoritmo AES não faz parte dos algoritmos criptográficos Windows Platform FIPS validado.

Como contornar

importante Estes passos podem aumentar o risco de segurança. Estes passos podem também tornar o computador ou rede mais vulnerável a ataques de utilizadores mal intencionados ou software malicioso como vírus. Recomendamos o processo descrito neste artigo para permitir que programas a funcionar como foram concebidos para ou para implementar capacidades específicas de programa. Antes de efectuar estas alterações, recomendamos que avalie os riscos associados à implementação deste processo no seu ambiente específico. Se decidir implementar este processo, tome medidas adicionais adequadas para ajudar a proteger o sistema. Recomendamos que utilize este processo apenas se for realmente necessário este processo.

Para contornar este problema, altere a configuração no ficheiro Web.config nível da aplicação. Especifica que o ASP.NET utilizam algoritmo Triple Data Encryption Standard (3DES) para processar dados de estado da vista. Para o fazer, siga estes passos:
  1. Num editor de texto, tal como o bloco de notas, abra o ficheiro Web.config do nível da aplicação.
  2. No ficheiro Web.config, localize o <system.web> secção.
  3. Adicione o seguinte <machinekey> secção para o <system.web> secção:
    <machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>
  4. Guarde o ficheiro Web.config.
  5. Reinicie o serviço de ISS (Serviços de informação Internet Information Services). Para efectuar este procedimento, execute o seguinte comando numa linha de comandos:
    iisreset
importante Teoricamente, o algoritmo 3DES é menos seguro do que o algoritmo AES (Rijndael). Recomendamos que utilize o algoritmo AES sempre que possível ajudar a proteger o sistema.

Mais Informação

Passos para reproduzir o problema

aviso Podem ocorrer problemas graves se modificar o registo incorrectamente utilizando o Editor de registo ou utilizando outro método. Estes problemas poderão forçar a reinstalação do sistema operativo. Microsoft não garante que estes problemas podem ser resolvidos. Modificar o registo por sua conta e risco.

Antes de conseguir reproduzir este problema, tem de definir
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
subchave de registo como 1 para activar a política algoritmos em conformidade com FIPS.

Siga estes passos e, em seguida, saia do Editor de registo:
  1. Clique em Iniciar , clique em Executar , escreva regedit e, em seguida, clique em OK .
  2. Localize e, em seguida, clique a seguinte chave no registo:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
  3. No menu Editar , clique em Modificar .
  4. Escreva 1 e, em seguida, prima ENTER.
Nota Tem de reiniciar o computador para a nova definição entre em vigor.

Para reproduzir o problema, siga estes passos:
  1. No Visual Studio 2005, clique em novo Web Site no menu ficheiro , clique em Web sites do ASP.NET em modelos , tipo DriveLetter: \ Path \KB911722 na localização e, em seguida, clique em OK .
  2. No Solution Explorer, clique com o botão direito do rato em default.aspx e, em seguida, clique em Abrir .
  3. Substitua o código existente com o seguinte code.
    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    	<title>Test Page for KB911722</title>
    </head>
    <body>
    <form id="Form1" runat="server" >
     <script language="C#" runat="server" > 
     public void Page_Load() 
     { 
     	Label1.Text = "EnableViewState attribute is set to " + Page.EnableViewState.ToString(); 
     } 
     </script> 
    
     <asp:Label id="Label1" runat="server" Text="text"></asp:Label>
    </form>
    </body>
    </html>
  4. No menu Debug , clique em Iniciar a depuração .
Recebe a mensagem de erro mencionada na secção "Sintomas".

Para mais informações sobre os efeitos da activação de "criptografia do sistema: utilizar FIPS algoritmos para encriptação, criação de algoritmos hash e assinatura em conformidade com" definição de segurança no Windows XP e em versões posteriores do Windows XP, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
811833Os efeitos da activação de "criptografia do sistema: utilizar FIPS algoritmos para encriptação, criação de algoritmos hash e assinatura em conformidade com" definição de segurança no Windows XP e versões posteriores

Propriedades

Artigo: 911722 - Última revisão: 4 de janeiro de 2008 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.1
Palavras-chave: 
kbmt kbtshoot kbprb KB911722 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 911722

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