globals.properties 암호화
- 작성자 :
- 이**라
- 작성일 :
- 2022-08-22 10:34:46
- 조회수 :
- 1,035
- 구분 :
- 공통컴포넌트 /
- 진행상태 :
- 완료
Q
다시한번 질문드립니다.
링크주신 예제대로 했고요 null password given; logon denied 에럽니다.
###에러내용
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (ORA-01005: null password given; logon denied
)
####context-cryto.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:egov-crypto="http://www.egovframe.go.kr/schema/egov-crypto"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.egovframe.go.kr/schema/egov-crypto http://www.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.8.xsd">
<egov-crypto:config id="egovCryptoConfig"
initial="true"
crypto="true"
algorithm="SHA-256"
algorithmKey="dfege"
algorithmKeyHash="Xwq3Bch8thOu9CQRAiz6Fo5f1kWFuARTab6YZel67nY="
cryptoBlockSize="1024"
cryptoPropertyLocation="classpath:/egovframework/egovProps/globals.properties"
/>
</beans>
#####globals
Globals.DbType = oracle
Globals.UserName=test
Globals.Password=YemmKWMHpwG4UJoQBRr1aQ%3D%3D
Globals.DriverClassName=oracle.jdbc.driver.OracleDriver
Globals.Url=jdbc:oracle:thin:@192.123.30.242:1521/orcl
####context-datasource.xml
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${Globals.DriverClassName}"/>
<property name="url" value="${Globals.Url}" />
<property name="username" value="${Globals.UserName}" />
<property name="password" value="#{egovEnvCryptoService.getPassword()}" />
</bean>
링크주신 예제대로 했고요 null password given; logon denied 에럽니다.
###에러내용
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (ORA-01005: null password given; logon denied
)
####context-cryto.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:egov-crypto="http://www.egovframe.go.kr/schema/egov-crypto"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.egovframe.go.kr/schema/egov-crypto http://www.egovframe.go.kr/schema/egov-crypto/egov-crypto-3.8.xsd">
<egov-crypto:config id="egovCryptoConfig"
initial="true"
crypto="true"
algorithm="SHA-256"
algorithmKey="dfege"
algorithmKeyHash="Xwq3Bch8thOu9CQRAiz6Fo5f1kWFuARTab6YZel67nY="
cryptoBlockSize="1024"
cryptoPropertyLocation="classpath:/egovframework/egovProps/globals.properties"
/>
</beans>
#####globals
Globals.DbType = oracle
Globals.UserName=test
Globals.Password=YemmKWMHpwG4UJoQBRr1aQ%3D%3D
Globals.DriverClassName=oracle.jdbc.driver.OracleDriver
Globals.Url=jdbc:oracle:thin:@192.123.30.242:1521/orcl
####context-datasource.xml
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${Globals.DriverClassName}"/>
<property name="url" value="${Globals.Url}" />
<property name="username" value="${Globals.UserName}" />
<property name="password" value="#{egovEnvCryptoService.getPassword()}" />
</bean>
환경정보
-
- OS 정보 : 윈도우
- 표준프레임워크 버전 : 3.9
- JDK(JRE) 정보 : openjdk11
- WAS 정보 : tomcat9
- DB 정보 : oracle
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크 센터입니다.
Globals.Properties에서 egovEnvCryptoService로 읽어 오는 Password Property는
Globals. + DbType + .Password의 형태로 읽어오도록 구성되어 있기 때문에
Password 디코딩을 위한 Property 명을
Globals.oracle.Password로 수정 후
진행해 보시기 바라며,
위키가이드의 예제와 같이 다른 데이터베이스 연결 항목도 암호화 할 경우
마찬가지로 Property 명 중간에 DbType을 넣어주어야 합니다.
감사합니다.
표준프레임워크 센터입니다.
Globals.Properties에서 egovEnvCryptoService로 읽어 오는 Password Property는
Globals. + DbType + .Password의 형태로 읽어오도록 구성되어 있기 때문에
Password 디코딩을 위한 Property 명을
Globals.oracle.Password로 수정 후
진행해 보시기 바라며,
위키가이드의 예제와 같이 다른 데이터베이스 연결 항목도 암호화 할 경우
마찬가지로 Property 명 중간에 DbType을 넣어주어야 합니다.
감사합니다.