Jasypt를 이용한 properties 암호화
- 작성자 :
- 최*진
- 작성일 :
- 2018-11-15 18:03:54
- 조회수 :
- 5,643
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
안녕하세요 초보개발자입니다.
신규 프로젝트를 생성하고 공통컴포넌트로 로그인, 게시판을 추가하였습니다.
Jasypt를 이용해서 properties를 암호화해보려고 시도중인데요.
404에러가 발생해서 질문 남깁니다.
1. pom.xml에 추가 한 내용
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt-spring3</artifactId>
<version>1.9.2</version>
</dependency>
2. context-datasource.xml 내용 변경
<bean id="environmentVariablesConfiguration" class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
<property name="algorithm" value="PBEWithMD5AndDES" />
<property name="passwordEnvName" value="APP_ENCRYPTION_PASSWORD" />
</bean>
<bean id="configurationEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="config" ref="environmentVariablesConfiguration" />
<property name="password" value="jasyptPass" />
</bean>
<bean id="propertyConfig" class="org.jasypt.spring3.properties.EncryptablePropertyPlaceholderConfigurer">
<constructor-arg ref="configurationEncryptor" />
<property name="locations">
<list>
<value>classpath:/egovframework/egovProps/globals.properties</value>
</list>
</property>
</bean>
3. 에러코드(파일첨부)
ERROR [org.springframework.web.context.ContextLoader] Context initialization failed
org.jasypt.exceptions.EncryptionOperationNotPossibleException: null
Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.jasypt.exceptions.EncryptionOperationNotPossibleException
WARN [org.springframework.web.context.support.XmlWebApplicationContext] Exception thrown from LifecycleProcessor on context close
신규 프로젝트를 생성하고 공통컴포넌트로 로그인, 게시판을 추가하였습니다.
Jasypt를 이용해서 properties를 암호화해보려고 시도중인데요.
404에러가 발생해서 질문 남깁니다.
1. pom.xml에 추가 한 내용
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt-spring3</artifactId>
<version>1.9.2</version>
</dependency>
2. context-datasource.xml 내용 변경
<bean id="environmentVariablesConfiguration" class="org.jasypt.encryption.pbe.config.EnvironmentStringPBEConfig">
<property name="algorithm" value="PBEWithMD5AndDES" />
<property name="passwordEnvName" value="APP_ENCRYPTION_PASSWORD" />
</bean>
<bean id="configurationEncryptor" class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">
<property name="config" ref="environmentVariablesConfiguration" />
<property name="password" value="jasyptPass" />
</bean>
<bean id="propertyConfig" class="org.jasypt.spring3.properties.EncryptablePropertyPlaceholderConfigurer">
<constructor-arg ref="configurationEncryptor" />
<property name="locations">
<list>
<value>classpath:/egovframework/egovProps/globals.properties</value>
</list>
</property>
</bean>
3. 에러코드(파일첨부)
ERROR [org.springframework.web.context.ContextLoader] Context initialization failed
org.jasypt.exceptions.EncryptionOperationNotPossibleException: null
Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.jasypt.exceptions.EncryptionOperationNotPossibleException
WARN [org.springframework.web.context.support.XmlWebApplicationContext] Exception thrown from LifecycleProcessor on context close
A
안녕하세요.
표준프레임워크센터 입니다.
필요한 빈이 모두 구성되어 있는것으로 보이긴 합니다.
property 지정에 문제 있는건 아닌지
확인해볼 필요가 있을듯 합니다.
jasypt property부분의 설정이 문제가 있어
XmlWebApplicationContext에 까지 영향을 미쳐서
구동이 않된듯 합니다.
기존 공통컴포넌트에서 설정하고 있는
properties 설정이 중복될수 있으니
다음 설정을 주석처리 해보시기 바랍니다.
<bean id="egov.propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
감사합니다.
표준프레임워크센터 입니다.
필요한 빈이 모두 구성되어 있는것으로 보이긴 합니다.
property 지정에 문제 있는건 아닌지
확인해볼 필요가 있을듯 합니다.
jasypt property부분의 설정이 문제가 있어
XmlWebApplicationContext에 까지 영향을 미쳐서
구동이 않된듯 합니다.
기존 공통컴포넌트에서 설정하고 있는
properties 설정이 중복될수 있으니
다음 설정을 주석처리 해보시기 바랍니다.
<bean id="egov.propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
감사합니다.