웹이야기

globals.properties 의 정보에 대한 암호문 적용 본문

전자정부표준프레임워크

globals.properties 의 정보에 대한 암호문 적용

yeon.Biju 2020. 3. 11. 19:19

이전 글에서 오라클 비밀번호에 대한 암호문을 생성하였다.

https://webobj.tistory.com/75

 

globals.properties 의 정보에 대한 암호문 생성

globals.properties 에 있는 중요정보에 대해서 암호문을 생성할 수 있는 방법을 생각해보자. 역시 아래 URL 에 있는 내용을 불필요하게 늘어뜨려봤다. https://www.egovframe.go.kr/wiki/doku.php?id=egovframewo..

webobj.tistory.com

 

이것을 바탕으로 암호화된 오라클 비밀번호를 globals.properties 에 적용해보고자 한다.

 

이 내용은 전자정부 표준프레임워크 위키에 있는 내용이다.

https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:crypto_simplify_v3_8

 

egovframework:rte2:fdl:crypto_simplify_v3_8 [eGovFrame]

표준프레임워크 3.8 부터 ARIA 블록암호 알고리즘 기반 암/복호화 설정을 간소화 할 수 있는 방법을 제공한다. 내부적으로 필요한 설정을 가지고 있고, XML Schema를 통해 필요한 설정만을 추가할 수 있도록 제공한다. 또한 globals.properties 설정 파일의 중요 정보 Url, UserName, Password 항목을 암/복호화 처리 할 수 있도록 제공한다. 그외에 정보는 properties 파일에 암호화 데이터 설정후 #{egovEnv

www.egovframe.go.kr

 

 

3개의 파일을 수정할 예정이다.

globals.properties

context-datasource.xml

context-crypto.xml

 

globals.properties 파일에 있는 암호문(여기서는 오라클 비밀번호)을 context-datasource.xml 에서 데이타베이스와 연결할 때 context-crypto.xml 파일의 설정을 통해서 복호화해서 연결하는 거 아닐까 한다. 

 

 

1. globals.properties 수정

   - 이전 글에서 생성한 암호화된 오라클 비밀번호를 기입해준다.

      Globals.oracle.Password = CWXsMtjygK9T3I8EcvnxwA%3D%3D

 

2. context-crypto.xml 수정

   - context-crypto.xml이 전자정부 표준프레임워크 3.8, 전자정부 표준프레임워크 3.9 에 들어있다. 

   - 아래부분이 수정대상이다. 

 

    <egov-crypto:config id="egovCryptoConfig" 
     initial="true"
     crypto="true"
     algorithm="SHA-256"
     algorithmKey="egovframe"
     algorithmKeyHash="gdyYs/IZqY86VcWhT8emCYfqY1ahw2vtLG+/FzNqtrQ="
cryptoBlockSize="1024"
cryptoPropertyLocation="classpath:/egovframework/egovProps/globals.properties"
/>

 

부분을 수정해준다.

   - 아래와 같이 수정해준다. 혹은 다르지 않다면 수정하지 않아도 된다.

      initial="true" 
      crypto="true" 
      algorithm="SHA-256" 
      algorithmKey="egovframe" 
      algorithmKeyHash="gdyYs/IZqY86VcWhT8emCYfqY1ahw2vtLG+/FzNqtrQ=" 
      cryptoBlockSize="1024" 
      cryptoPropertyLocation="classpath:/egovframework/egovProps/globals.properties"

 

   - initial="true"  로 해준다.

   - crypto="true" 로 해준다.

   - algorithm="SHA-256"  로 해주는데 이전 글에서 암호문을 생성할 때 SHA-256 으로 정의하였다.

   - algorithmKey="egovframe"  로 해주는데 이전 글에서  암호문을 생성할 때  algorithmKey를 egovframe 으로 정의하였다.

   - algorithmKeyHash 값은 이전 글에서 EgovEnvCryptoAlgorithmCreateTest.java 를 실행하여 구한 값이다.

   - cryptoBlockSize 역시 이전글에서 암호문을 생성할 때 정의하였었다. 1024로 해준다.

   - cryptoPropertyLocation 의 경우에는 globals .properties 의 경로이다. 내버려둔다. 

 


3. context-datasource.xml 을 수정

   - <property name="password" value="${Globals.oracle.Password}"/> 부분을 수정한다.

      <property name="password" value="#{egovEnvCryptoService.getPassword()}"/> 로 수정한다.

 

4. context-crypto-test.xml 삭제

   - 암호화 된 비밀번호를 만들기 위해서 만들었던 context-crypto-test.xml 파일이 있다면 삭제한다.  비슷한(혹은 같은) 내용이 들어있는 context-crypto.xml 과  context-crypto-test.xml 이 같이 있으면 톰캣 시작시 에러가 발생한다.

 

5. 톰캣 재시작 해본다.

   - 잘 시작되면 끝 

 

 

* 전자정부 표준프레임워크 3.9를 기준으로 진행을 했는데, 3.8에서도 동일하게 적용하면 잘 되는 것을 확인하였다. 

 

 

Done.

 

   

 

Comments