You may receive an error message when you access ASP.NET Web pages that have ViewState enabled after you upgrade from ASP.NET 1.1 to ASP.NET 2.0 (911722)
The information in this article applies to:
- Microsoft ASP.NET 2.0
- Microsoft ASP.NET (included with the .NET Framework 1.1)
Important This article contains information about how to modify the
registry. Make sure to back up the registry before you modify it. Make sure
that you know how to restore the registry if a problem occurs. For more
information about how to back up, restore, and modify the registry, click the
following article number to view the article in the Microsoft Knowledge Base: 256986 Description of the Microsoft Windows registry SYMPTOMSAfter you upgrade from Microsoft ASP.NET 1.1 to Microsoft ASP.NET 2.0, some ASP.NET-based applications may not function correctly. Additionally, when you access ASP.NET Web pages that have ViewState enabled, you may receive the following error message: [InvalidOperationException: This implementation is not part of the
Windows Platform FIPS validated cryptographic algorithms.]
System.Security.Cryptography.RijndaelManaged..ctor() +200
System.Web.Configuration.MachineKeySection.ConfigureEncryptionObject() +2088
System.Web.Configuration.MachineKeySection.EnsureConfig() +904
System.Web.Configuration.MachineKeySection.GetEncodedData(Byte[] buf,
Byte[] modifier, Int32 start, Int32& length) +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
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50606.0; ASP.NET
Version:2.0.50606.0 CAUSEThis problem occurs when the following conditions are
true:
- The
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
registry subkey is set to 1.
- ASP.NET 2.0 uses the AES algorithm
when it processes view state data. The AES algorithm is not currently a Federal Information Processing Standard (FIPS)-compliant algorithm.
WORKAROUNDImportant These steps may increase your security risk. These steps may also
make your computer or your network more vulnerable to attack by malicious users
or by malicious software such as viruses. We recommend the process that this
article describes to enable programs to operate as they are designed to, or to
implement specific program capabilities. Before you make these changes, we
recommend that you evaluate the risks that are associated with implementing
this process in your particular environment. If you choose to implement this
process, take any appropriate additional steps to help protect your system. We
recommend that you use this process only if you really require this
process. To work around this problem, change the configuration in the
application-level Web.config file. Specify that ASP.NET use the Triple Data Encryption Standard (3DES) algorithm to process view state data. To do this, follow these steps:
- In a text
editor such as Notepad, open the application-level Web.config file.
- In the Web.config file, locate the <system.web> section.
- Add the following <machineKey> section to in the <system.web> section:
<machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="TripleDES" decryption="3DES"/> - Save the Web.config file.
- Restart
the Microsoft Internet Information Services (IIS) service. To do this, run the following command at a command prompt:
Important Theoretically, the 3DES algorithm is less secure than the AES (Rijndael) algorithm.
We recommend that you use the AES algorithm whenever possible to help secure your system.
| Modification Type: | Major | Last Reviewed: | 3/15/2006 |
|---|
| Keywords: | kbtshoot kbprb KB911722 kbAudDeveloper kbAudITPRO |
|---|
|