구성 섹션 암호화 및 해독
업데이트: 2007년 11월
ASP.NET IIS 등록 도구(Aspnet_regiis.exe)를 사용하여 웹 구성 파일의 섹션을 암호화하거나 해독할 수 있습니다. Web.config 파일이 처리되면 ASP.NET에서 암호화된 구성 요소를 자동으로 해독합니다.
참고: |
---|
Aspnet_regiis.exe 도구는 %windows%\Microsoft.NET\Framework\versionNumber 폴더에 있습니다. |
또한 System.Configuration 네임스페이스의 보호되는 구성 클래스를 사용하면 웹 구성 파일의 섹션, 실행 파일(.exe)의 구성 파일 섹션 또는 컴퓨터 수준 및 응용 프로그램 수준 구성 파일의 섹션을 암호화하고 해독할 수 있습니다. 자세한 내용은 SectionInformation 클래스의 ProtectSection 메서드를 참조하십시오. Web.config 파일의 섹션을 참조하는 데 대한 내용은 WebConfigurationManager 클래스를 참조하십시오. Web.config 파일을 제외한 다른 파일의 구성 섹션을 참조하는 데 대한 내용은 ConfigurationManager 클래스를 참조하십시오.
웹 구성 섹션 암호화
구성 파일의 내용을 암호화하려면 –pe 옵션 및 암호화할 구성 요소의 이름을 지정하여 Aspnet_regiis.exe 도구를 사용합니다.
Web.config 파일을 암호화할 응용 프로그램을 식별하려면 –app 옵션을 사용하고, 응용 프로그램이 포함된 웹 사이트를 식별하려면 -site 옵션을 사용합니다. 웹 사이트는 IIS(인터넷 정보 서비스) 메타베이스의 사이트 번호를 사용하여 식별됩니다. ServerVariables 컬렉션의 INSTANCE_META_PATH 서버 변수를 통해 사이트 번호를 검색할 수 있습니다. 예를 들어 IIS가 설치되면 "기본 웹 사이트"라는 웹 사이트가 사이트 1로 만들어집니다. 이 사이트에서 제공하는 페이지에서 INSTANCE_META_PATH 서버 변수는 "/LM/W3SVC/1"을 반환합니다. -site 옵션을 지정하지 않으면 사이트 1이 사용됩니다.
암호화 및 해독을 수행할 ProtectedConfigurationProvider의 이름을 식별하려면 –prov 옵션을 사용합니다. -prov 옵션을 사용하여 공급자를 지정하지 않으면 defaultProvider로 구성된 공급자가 사용됩니다.
참고: |
---|
사용자 지정 키 컨테이너를 지정하는 RsaProtectedConfigurationProvider 인스턴스를 사용 중인 경우에는 Aspnet_regiis.exe 도구를 실행하기 전에 키 컨테이너를 만들어야 합니다. 자세한 내용은 보호되는 구성 RSA 키 컨테이너 가져오기 및 내보내기를 참조하십시오. |
다음 명령은 SampleApplication 응용 프로그램에 대한 Web.config 파일의 connectionStrings 요소를 암호화합니다. -site 옵션이 포함되어 있지 않으므로 이 응용 프로그램은 웹 사이트 1(대개 IIS의 기본 웹 사이트)에 포함되어 있다고 가정합니다. 암호화는 컴퓨터 구성에 지정된 RsaProtectedConfigurationProvider를 사용하여 수행됩니다.
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"
응용 프로그램의 페이지 또는 다른 ASP.NET 리소스가 요청되면 ASP.NET에서는 보호되는 구성 섹션에 대한 공급자를 호출하여 ASP.NET과 응용 프로그램 코드에 사용할 정보를 해독합니다.
참고: |
---|
Web.config 파일의 섹션을 암호화하고 해독하려면 ASP.NET 프로세스에 암호화 키 정보를 읽을 수 있는 권한이 있어야 합니다. 자세한 내용은 보호되는 구성 RSA 키 컨테이너 가져오기 및 내보내기를 참조하십시오. |
웹 구성 섹션 해독
암호화된 구성 파일의 내용을 해독하려면 -pd 스위치 및 해독할 구성 요소의 이름을 지정하여 Aspnet_regiis.exe 도구를 사용합니다. Web.config 파일을 해독할 응용 프로그램을 식별하려면 –app 및 -site 스위치를 사용합니다. 보호되는 구성 섹션의 configProtectionProvider 특성에서 ProtectedConfigurationProvider 정보를 읽을 수 있으므로 –prov 스위치를 지정하여 공급자 이름을 식별할 필요가 없습니다.
다음 명령은 SampleApplication이라는 ASP.NET 응용 프로그램에 대한 Web.config 파일의 connectionStrings 요소를 해독합니다.
aspnet_regiis -pd "connectionStrings" -app "/SampleApplication"