웹 암호화.config 파일 2

9547 단어 config
원문:유무 | 웹 암호화.config 파일 2  
이전 글은 DataProtectionConfigurationProvider로 웹 암호화를 소개했습니다.config 파일 방법
그러나 그는 암호화된 파일은 본 컴퓨터에서만 복호화할 수 있고 여러 대의 서버가 있으면 각 컴퓨터가 단독으로 암호화해야 하기 때문에 배치에 불리하다.
RSAProtectedConfigurationProvider를 이용하여 암호화하면 이 문제를 해결할 수 있다.
본고는 RSAProtectedConfigurationProvider를 이용하여 여러 대의 서버를 배치하는 방법을 소개한다.
RSA 키 만들기
실행 명령: aspnet_regiis -pc "LiuwuNetKeys"-exp
2 가상 디렉토리 이름은 EncryptWebConfig이고 웹을 추가합니다.config 파일은 다음과 같습니다.
XML-Code:
<configProtectedData>
  <providers>
    <add
        keyContainerName="LiuwuNetKeys"
        useMachineContainer="true"
        description="Liuwu.net Keys"
        name="LiuwuNetProvider"
        type="System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </providers>
</configProtectedData>
 
<connectionStrings>
  <add name="Conn" connectionString="Data Source=liuwu;User ID=liuwu;Password=liuwu;" />
</connectionStrings>

주로 config 파일에 configProtectedData 프로필을 추가합니다.


3 암호화


실행 명령 aspnet_regiis -pe "connectionStrings"-app "/EncryptWebConfig"-prov "LiuwuNetProvider"


여기서/EncryptWebConfig는 가상 디렉터리의 이름이고, LiuwuNetProvider는 이전 ConfigProtectedData 구성 섹션에서 설정한 이름입니다.


암호화된 연결 문자열은 다음과 같습니다.



<connectionStrings configProtectionProvider="LiuwuNetProvider">
 <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
    xmlns="http://www.w3.org/2001/04/xmlenc#">
    <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
      <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
        <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
        <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
          <KeyName>Rsa Key</KeyName>
        </KeyInfo>
        <CipherData>
          <CipherValue>RoOicEmyEeyGt216zRdwRXVaBWB2rRn+znQN59Y9/U55dEWtYdY3/HnVzIzS/BTeJ6JMOkXWLXFSjSNrA8LY22ya65r8FBI8byOCEFJ5nd1sIpnCA4Fhm72JEKhojGXo1kMURCfSQd8BdHCAJskMrsG3/bGJconC8TyyfEXTgcM=</CipherValue>
        </CipherData>
      </EncryptedKey>
    </KeyInfo>
    <CipherData>
      <CipherValue>JTALo/rdj0zMzN2i0oFwP3wD6jQXijxpUjOc/5bBpOvP+dPQ2+rRDQXN5h+kzUWkB1vO4WSG9dDXif8Keud2QAJPU4eh4oc6pZ35sR6Ks/WzMqhnqPJi4GZ3yjodD+tuhgY2Cu94Q60R+IY4/DZ2iqrj4rNi51UCaFa7iF/CpOp6dMDkEu8ema0Asvfomj6R</CipherValue>
    </CipherData>
  </EncryptedData>
</connectionStrings>



4 분배 권한


이 때 프로그램을 실행하면 다음과 같은 오류가 발생할 수 있습니다.


분석기 오류 메시지: 공급자 LiuwuNetProvider를 사용하여 복호화할 수 없습니다.RSA 키 컨테이너를 열 수 없습니다.


이것은 웹 서버의 실행 계정이 RSA 용기에 접근할 수 있는 충분한 권한이 없기 때문에 우리는 그에게 권한을 분배해야 한다. win2003의 시스템에서 웹 서버의 실행 계정은 NT Authority\Network Service,


실행 명령:aspnet_regiis -pa "LiuwuNetKeys""NT Authority\Network Service"


LiuwuNetKeys가 첫 번째로 만든 키 이름


이제 프로그램이 정상적으로 실행될 수 있습니다.


5 키 내보내기


실행 명령:aspnet_regiis -px "LiuwuNetKeys""d:\LiuwuNetKeys.xml"-pri 


LiuwuNetKeys는 D디스크로 내보내는 첫 번째 키 이름입니다.xml 파일


이 컴퓨터에서 작업이 완료되었습니다. 복호화하려면 aspnet_regiis -pd "connectionStrings"-app "/EncryptWebConfig" 


6 다른 기계에 배치


다른 기계에서 암호화된 웹만config 파일을 복사해서 aspnet_ 실행하기regiis -pi "LiuwuNetKeys""d:\LiuwuNetKeys.xml"하면 됩니다. 권한 분배도 기억하세요.


주: 여기는 가상 디렉터리만 사용하고 실제 경로도 사용할 수 있습니다. 구체적인 매개 변수는 명령줄에서 aspnet_regiis 구체적인 도움말 보기.



socketserver 원본 읽기 노트
Lepto를 사용하여 이미지 최적화 프로세스 자동화

좋은 웹페이지 즐겨찾기