Puede recibir un mensaje de error cuando puede acceso a las páginas Web ASP.NET que ViewState habilitada después de actualizar desde ASP.NET 1.1 a ASP.NET 2.0

Seleccione idioma Seleccione idioma
Id. de artículo: 911722 - Ver los productos a los que se aplica este artículo
importante Este artículo contiene información acerca de cómo modificar el registro. Asegúrese de que copia el registro antes de modificarlo. Compruebe que sabe restaurar el Registro en caso de que se produzca algún problema. Para obtener más información acerca de cómo realizar una copia de seguridad, restaurar y modificar el registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
256986Definición del Registro de Microsoft Windows
Expandir todo | Contraer todo

En esta página

Síntomas

Después de actualizar desde Microsoft ASP.NET 1.1 a Microsoft ASP.NET 2.0, algunas aplicaciones basadas en ASP.NET no funcione correctamente. Además, cuando tiene acceso a las páginas Web ASP.NET que ViewState habilitada, puede recibir el siguiente mensaje de error:
[InvalidOperationException: esta implementación no forma parte de los algoritmos criptográficos Windows Platform FIPS validado.]
System.Security.Cryptography.RijndaelManagedctor() +200 System.Web.Configuration.MachineKeySection.ConfigureEncryptionObject() +2088
System.Web.Configuration.MachineKeySection.EnsureConfig() +904
System.Web.Configuration.MachineKeySection.GetEncodedData (Byte [] buf, Byte [] modificador, inicio de Int32, Int32 & longitud) +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
--------------------------------------------------------------------------------
Información de versión: Microsoft .NET Framework Version:2.0.50606.0; 2.0.50606.0: versión de ASP.NET

Causa

Este problema se produce cuando se cumplen las condiciones siguientes:
  • El
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
    subclave del registro está establecido en 1.
  • ASP.NET 2.0 utiliza la implementación de RijndaelManaged del algoritmo AES cuando procesa datos de estado de vista. La implementación de ReindaelManaged no ha sido certificada por el National Institute of Standards and Technology (NIST) como compatible con la Federal Information procesamiento Standard (FIPS). Por lo tanto, el algoritmo AES no forma parte de los algoritmos criptográficos Windows Platform FIPS validado.

Solución

importante Estos pasos pueden aumentar su riesgo de seguridad. Estos pasos también pueden hacer que el equipo o la red sea más vulnerable a los ataques por usuarios malintencionados o de software malintencionado como virus. Recomendamos seguir el proceso que se describe en este artículo para permitir que programas funcionen como están diseñados o para implementar capacidades específicas del programa. Antes de realizarlos, recomendamos que evalúe los riesgos asociados a la implementación de este proceso en su entorno concreto. Si decide implementar este proceso, tome las medidas adicionales oportunas para ayudar a proteger el sistema. Recomendamos que utilice este proceso sólo si realmente necesita este proceso.

Para evitar este problema, cambie la configuración del archivo Web.config de nivel de aplicación. Especificar que utilizan el algoritmo Triple cifrado de datos estándar (3DES) para procesar datos de estado de vista ASP.NET. Para ello, siga estos pasos:
  1. En un editor de texto, como el Bloc de notas, abra el archivo de Web.config de nivel de aplicación.
  2. En el archivo Web.config, busque el <system.web> sección.
  3. Agregue la siguiente <machinekey> sección para en el <system.web> sección:
    <machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>
  4. Guarde el archivo Web.config.
  5. Reinicie el servicio de servicios de Internet Information Server (IIS). Para ello, ejecute el siguiente comando en un símbolo del sistema:
    iisreset
importante Teóricamente, el algoritmo 3DES es menos seguro que el algoritmo AES (Rijndael). Recomendamos que utilice el algoritmo AES siempre que sea posible para ayudar a proteger su sistema.

Más información

Pasos para reproducir el problema

Advertencia Pueden producirse problemas graves si modifica incorrectamente el registro mediante el Editor del registro o utilizando otro método. Estos problemas pueden requerir que reinstale el sistema operativo. Microsoft no puede garantizar la solución de esos problemas. Modifique el Registro bajo su responsabilidad.

Antes de que puede reproducir este problema, debe establecer la
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
subclave del registro en 1 para habilitar la directiva de algoritmos compatibles con FIPS.

Siga estos pasos y después salga del Editor del Registro:
  1. Haga clic en Inicio , haga clic en Ejecutar , escriba regedit y, a continuación, haga clic en Aceptar .
  2. Busque y haga clic en la siguiente clave del Registro:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
  3. En el menú Edición , haga clic en Modificar .
  4. Escriba 1 y, a continuación, presione ENTRAR.
Nota Debe reiniciar el equipo para la nueva configuración surta efecto.

Para reproducir el problema, siga estos pasos:
  1. En Visual Studio 2005, haga clic en nuevo sitio Web en el menú archivo , haga clic en sitio Web ASP.NET bajo plantillas , tipo DriveLetter: \ Path \KB911722 en la ubicación y, a continuación, haga clic en Aceptar .
  2. En el Explorador de soluciones, haga clic con el botón secundario del mouse en default.aspx y, a continuación, haga clic en Abrir .
  3. Reemplace el código existente con la siguiente 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. En el menú Depurar , haga clic en iniciar la depuración .
Recibirá el mensaje de error que se menciona en la sección "Síntomas".

Para obtener más información acerca de los efectos de habilitar la "criptografía de sistema: usar FIPS compatible con algoritmos para cifrado, firma y operaciones hash" configuración de seguridad en Windows XP y en versiones posteriores de Windows XP, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
811833Los efectos de habilitar la "criptografía de sistema: usar FIPS compatible con algoritmos para cifrado, firma y operaciones hash" configuración de seguridad en Windows XP y versiones posteriores

Propiedades

Id. de artículo: 911722 - Última revisión: viernes, 04 de enero de 2008 - Versión: 3.2
La información de este artículo se refiere a:
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.1
Palabras clave: 
kbmt kbtshoot kbprb KB911722 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 911722

Enviar comentarios

 

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