ViewState ASP.NET 1.1에서 ASP.NET 2.0으로 업그레이드한 후 사용할 수 있는 ASP.NET 웹 페이지에 액세스할 때 오류 메시지가 나타날 수 있습니다.

기술 자료 번역 기술 자료 번역
기술 자료: 911722 - 이 문서가 적용되는 제품 보기.
중요한 이 문서에서는 레지스트리 수정 방법에 대한 정보가 들어 있습니다. 수정하기 전에 레지스트리를 백업해야 합니다. 문제가 발생하는 경우 레지스트리를 복원하는 방법을 알고 있어야 합니다. 백업, 복원 및 레지스트리 수정 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
256986Microsoft Windows 레지스트리에 대한 설명
모두 확대 | 모두 축소

이 페이지에서

현상

Microsoft ASP.NET 1.1에서 Microsoft ASP.NET 2.0으로 업그레이드한 후 일부 ASP.NET 기반 응용 프로그램은 제대로 작동하지 않을 수 있습니다. 또한 ViewState 사용할 수 있는 ASP.NET 웹 페이지에 액세스할 때 다음 오류 메시지가 나타날 수 있습니다.
[InvalidOperationException: 이 구현 Windows 플랫폼 유효성이 FIPS 암호화 알고리즘 일부가 아닙니다.]
System.Security.Cryptography.RijndaelManagedctor() +200 System.Web.Configuration.MachineKeySection.ConfigureEncryptionObject() +2088
System.Web.Configuration.MachineKeySection.EnsureConfig() +904
Byte buf, Byte 한정자를, Int32 시작, Int32 및 길이를 System.Web.Configuration.MachineKeySection.GetEncodedData +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
--------------------------------------------------------------------------------
버전 정보: Microsoft .NET Framework Version:2.0.50606.0, ASP.NET 버전: 2.0.50606.0

원인

이 문제는 다음과 같은 조건을 만족에 해당하는 경우에 발생합니다 확장 호스트 컨트롤러 인터페이스 (EHCI) USB 2.0 호스트 컨트롤러를 지닌 데스크톱 컴퓨터:
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
    레지스트리 하위 키를 1로 설정됩니다.
  • 뷰 상태 데이터를 처리할 때 ASP.NET 2.0 AES 알고리즘 RijndaelManaged 구현을 사용합니다. ReindaelManaged 구현 표준 및 기술 연구소 (NIST) 호환 함께 있는 연방 정보 처리 표준 (FIPS) 로 인증한지 않습니다. 따라서 AES 알고리즘 Windows 플랫폼 유효성이 FIPS 암호화 알고리즘 일부가 아닙니다.

해결 과정

중요한 이러한 단계를 보안 위험이 증가할 수 있습니다. 이 단계를 수행하면 컴퓨터나 네트워크가 악의적인 사용자나 바이러스와 같은 악의적인 소프트웨어의 공격에 보다 취약해집니다. 프로그램이 원래 설계된 대로 작동하도록 설정하거나 특정 프로그램 기능을 구현하도록 이 문서에서 설명하는 과정을 진행하시기 바랍니다. 이렇게 변경하기 전에 특정 환경에서 이러한 과정을 진행하는 것과 관련된 위험을 평가하는 것이 좋습니다. 이 과정을 구현하기로 한 경우 적절한 시스템 보호 조치를 추가로 수행하시기 바랍니다. 이러한 과정이 정말 필요한 경우에만 사용하는 것이 좋습니다.

이 문제를 해결하려면 응용 프로그램 수준 Web.config 파일에 구성을 변경하십시오. ASP.NET 사용하는 뷰 상태 데이터를 처리하도록 Triple 데이터 암호화 표준 (3DES) 알고리즘을 지정하십시오. 이렇게 하려면 다음과 같이 하십시오.
  1. 응용 프로그램 수준 Web.config 파일을 메모장과 같은 텍스트 편집기에서 엽니다.
  2. Web.config 파일에서 해당 <system.web>를 찾습니다. 구역.
  3. 다음 추가 <machinekey><system.web> 있는 구역 수 구역:
    <machineKey validationKey="AutoGenerate,IsolateApps" decryptionKey="AutoGenerate,IsolateApps" validation="3DES" decryption="3DES"/>
  4. Web.config 파일을 저장하십시오.
  5. Microsoft 인터넷 정보 서비스 (IIS) 서비스를 다시 시작하십시오. 이렇게 하려면 명령 프롬프트에서 다음 명령을 실행하십시오.
    iisreset
중요한 이론적으로 3DES 알고리즘을 덜 AES (Rijndael) 알고리즘을 보다 안전합니다. 시스템 보안을 유지하기 위해 가능하면 AES 알고리즘을 사용하는 것이 좋습니다.

추가 정보

문제를 재현하는 방법

경고 레지스트리를 잘못 또는 다른 방법을 사용하여 레지스트리 편집기를 사용하여 수정할 경우 심각한 문제가 발생할 수 있습니다. 이 문제를 해결하려면 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 이러한 문제를 해결할 수 있음을 보증하지 않습니다. 레지스트리 수정에 따른 모든 책임은 수정하십시오.

이 문제를 재현할 수 전에
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
설정해야 레지스트리 하위 키를 FIPS 호환 알고리즘을 정책을 사용하려면 1.

이러한 단계를 수행한 다음 레지스트리 편집기를 종료하십시오.
  1. 시작 을 누르고 실행regedit 를 입력한 다음 확인 을 누릅니다.
  2. 찾은 다음 레지스트리에서 다음 키를 클릭하십시오.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
  3. 편집 메뉴에서 수정 을 클릭하십시오.
  4. 1 을 입력한 다음 Enter 키를 누릅니다.
참고 새 설정 적용하려면 컴퓨터를 다시 시작해야 합니다.

문제를 재현하려면 다음과 같이 하십시오.
  1. Visual Studio 2005에서 새 웹 사이트파일 메뉴에서 누르고 ASP.NET 웹 사이트템플릿 에서 형식 DriveLetter: \ Path \KB911722위치 상자를 클릭하고 다음 확인 을 누릅니다.
  2. 솔루션 탐색기에서 Default.aspx 를 마우스 오른쪽 단추로 클릭한 다음 열기 를 클릭하십시오.
  3. 기존 코드를 다음 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. 디버그 메뉴에서 디버깅 시작 을 클릭하십시오.
"현상" 절에 나와 있는 오류 메시지가 나타납니다.

설정 효과에 대한 자세한 내용은 다음 "시스템 암호화: 사용 FIPS 호환 알고리즘 암호화, 해시, 서명에 대한" 보안 설정은 Windows XP 에서 및 Windows XP 이후 버전의 Microsoft 기술 자료의 다음 문서를 참조하십시오:
811833사용 결과를 있는 "시스템 암호화: 사용 FIPS 호환 알고리즘 암호화, 해시, 서명에 대한" Windows XP 및 이후 버전의 보안 설정에서

속성

기술 자료: 911722 - 마지막 검토: 2008년 1월 4일 금요일 - 수정: 3.2
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft ASP.NET 2.0
  • Microsoft ASP.NET 1.1
키워드:?
kbmt kbtshoot kbprb KB911722 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

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