2011년 6월 23일 목요일

ASP.NET Web.config 암호화/복호화

Status : ASP.NET Web.config(구성파일) 암호화 / 복호화

- 기본적으로 제공되는 Builtin 구성 암호화 제공자는 아래 두가지이다.

  • RsaProtectedConfigurationProvider

  • DataProtectionConfigurationProvider

  •    이 제공자들은 machine.config에서 확인할 수 있다.

    (web.config 내용)
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <connectionStrings>
            <add connectionString="Data Source=127.0.0.1;Initial Catalog=mydb;User Id=admin;Password=admin1234;" name="mydbConn"/>   
            </connectionStrings>
        <appSettings>       
            <add key="Path500" value=".\private$\500_log" />
        </appSettings>
    </configuration>


    1. Visual Studio Command prompt 창을 띄운다.



    2. 해당 prompt 창에서 아래 명령어를 입력한다.
      
        syntax : aspnet_regiis -pef "구성섹션이름" -app "가상디렉토리" [-site "사이트이름"]
       
        예 : d:\webApplication1\Webapplication1\ 디렉토리에 web.config가 있으며 암호화 하고자
              하는 부분의  이름이 connectionStrings 일 경우...

         ASPNET_REGIIS -pef "connectionStrings" "d:\webApplication1\webApplication1"

        * 유의점 : 프롬프트 창에 connectionstrings 라고 대소문자를 맞추어 주지 않으면 구성 섹션을
                          찾을수 없다고 나온다. 대소문자를 꼭 web.config와 맞춰 줄것

        * 유의점 : connectionString에  & <-- 가 들어간 경우 &amp;  라고 치환하여 써준다.
                         실제 암호가 123@##@## 라고 되어 있으면 web.config에는 123@amp;##@amp;##
                         라고 써준다.

       
       
    3. 암호화 성공



    4. web.config File reopen (web.config 파일을 다시 연다.)
        암호화 된 부분을 확인해 볼 수 있다.

    댓글 없음:

    댓글 쓰기

    프로필

    내 사진
    마포구 상암동, 서울 특별시, South Korea