Aria 암호화 적용중 NullPointerException 에러 문의드립니다.
- 작성자 :
- 이*혁
- 작성일 :
- 2020-08-11 15:03:27
- 조회수 :
- 3,296
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
현재 egov3.9 버전을 통해 실습중에 있습니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:encryption_decryption
페이지의 ARIA부분을 참고하여 ARIA암호화, 복호화 테스트를 해보려고하는데
첨부드린 error페이지와 같이 nullpointerException이 발생하는데.. 어디를 확인해야할지 조언 주시면 감사하겠습니다.
nullpointerException의 발생 위치는 CryptUtil.txt파일의 33번째 줄
byte[] ariaText = cryptoService.encrypt(plainBtext, password); //aria 암호화 리턴값을 담기위한 byte 변수 부분입니다.
* maven을통해 받은 라이브러리 버전은 egovframework.rte.fdl.crypto-3.9.0.jar입니다.
테스트는 Controller단에서 CryptUtil.java파일을 호출하는 식으로 진행하였습니다.
---------------------------------------------------------------------------------------------------------------------
아래는 개발 시 설정한 부분입니다.
[pom.xml]
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.crypto</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
[context-crypto.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:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">
<bean id="egovPasswordEncoder" class="egovframework.rte.fdl.cryptography.EgovPasswordEncoder">
<property name="algorithm" value="${crypto.password.algorithm}" /><!-- default : SHA-256 -->
<property name="hashedPassword" value="${crypto.hashed.password}" />
</bean>
<bean id="egovARIACryptoService" class="egovframework.rte.fdl.cryptography.impl.EgovARIACryptoServiceImpl">
<property name="passwordEncoder" ref="egovPasswordEncoder" />
<property name="blockSize" value="1024" /><!-- default : 1024 -->
</bean>
</beans>
[globals.properties]
#Aria비밀번호 관련
crypto.password.algorithm=SHA-256
crypto.hashed.password=gdyYs/IZqY86VcWhT8emCYfqY1ahw2vtLG+/FzNqtrQ=
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:encryption_decryption
페이지의 ARIA부분을 참고하여 ARIA암호화, 복호화 테스트를 해보려고하는데
첨부드린 error페이지와 같이 nullpointerException이 발생하는데.. 어디를 확인해야할지 조언 주시면 감사하겠습니다.
nullpointerException의 발생 위치는 CryptUtil.txt파일의 33번째 줄
byte[] ariaText = cryptoService.encrypt(plainBtext, password); //aria 암호화 리턴값을 담기위한 byte 변수 부분입니다.
* maven을통해 받은 라이브러리 버전은 egovframework.rte.fdl.crypto-3.9.0.jar입니다.
테스트는 Controller단에서 CryptUtil.java파일을 호출하는 식으로 진행하였습니다.
---------------------------------------------------------------------------------------------------------------------
아래는 개발 시 설정한 부분입니다.
[pom.xml]
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.crypto</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
[context-crypto.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:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">
<bean id="egovPasswordEncoder" class="egovframework.rte.fdl.cryptography.EgovPasswordEncoder">
<property name="algorithm" value="${crypto.password.algorithm}" /><!-- default : SHA-256 -->
<property name="hashedPassword" value="${crypto.hashed.password}" />
</bean>
<bean id="egovARIACryptoService" class="egovframework.rte.fdl.cryptography.impl.EgovARIACryptoServiceImpl">
<property name="passwordEncoder" ref="egovPasswordEncoder" />
<property name="blockSize" value="1024" /><!-- default : 1024 -->
</bean>
</beans>
[globals.properties]
#Aria비밀번호 관련
crypto.password.algorithm=SHA-256
crypto.hashed.password=gdyYs/IZqY86VcWhT8emCYfqY1ahw2vtLG+/FzNqtrQ=
A
안녕하세요.
표준프레임워크 센터입니다.
CryptUtil라는 클래스를 자체적으로 커스터마이징을 하고 계신 부분에서 에러가 발생하고 있는 것 같습니다.
이런경우 답변에 제한이 있을 수 있는 점 양해 부탁드립니다.
현재 주어진 로그와 소스로 봤을때
Util성 클래에 Bean 주입을 하고 있어서 발생한 문제인 듯 합니다.
내부 로직에서는 필드 주입을 받아 쓰고 있으나 정작 CryptUtil 자체는 빈설정이 되어 있지 않은듯 보입니다.
클래서 자체에 @Component를 통해 bean 스캔시 bean 등록 되도록 설정 해 보시길 바랍니다.
감사합니다.
표준프레임워크 센터입니다.
CryptUtil라는 클래스를 자체적으로 커스터마이징을 하고 계신 부분에서 에러가 발생하고 있는 것 같습니다.
이런경우 답변에 제한이 있을 수 있는 점 양해 부탁드립니다.
현재 주어진 로그와 소스로 봤을때
Util성 클래에 Bean 주입을 하고 있어서 발생한 문제인 듯 합니다.
내부 로직에서는 필드 주입을 받아 쓰고 있으나 정작 CryptUtil 자체는 빈설정이 되어 있지 않은듯 보입니다.
클래서 자체에 @Component를 통해 bean 스캔시 bean 등록 되도록 설정 해 보시길 바랍니다.
감사합니다.