전자정부프레임워크 3.9에서 4.1로 이관 중.
기존 프로젝트가 SpringFramework 기반이었고, SpringBoot 기반으로 변경하기 위해 template 프로젝트 생성 후 기존 DB에 맞게 최적화 작업 중 이런 팝업이 뜨며 에러가 발생했다.
이클립스에는 아래와 같은 에러가 표출되고 있었다.
[logback]15:07:14.962 [http-nio-8080-exec-6] ERROR o.e.r.f.c.i.EgovARIACryptoServiceImpl - password not matched!!!
[logback]15:07:17.060 [http-nio-8080-exec-6] DEBUG o.s.web.servlet.DispatcherServlet - Failed to complete request: java.lang.IllegalArgumentException: password not matched!!!
[logback]15:07:17.061 [http-nio-8080-exec-6] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: password not matched!!!] with root cause
java.lang.IllegalArgumentException: password not matched!!!
at org.egovframe.rte.fdl.cryptography.impl.EgovARIACryptoServiceImpl.encrypt(EgovARIACryptoServiceImpl.java:67)
at egovframework.let.cop.bbs.web.EgovBBSManageApiController.selectBoardArticle(EgovBBSManageApiController.java:240)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
⁞
⁞
EgovPasswordEncoder encoder = new EgovPasswordEncoder();
String encrypedKey = encoder.encryptPassword(EgovFileDownloadController.ALGORITM_KEY);
⁞
⁞
@Bean
public EgovPasswordEncoder egovPasswordEncoder() {
EgovPasswordEncoder egovPasswordEncoder = new EgovPasswordEncoder();
egovPasswordEncoder.setAlgorithm("SHA-256");
egovPasswordEncoder.setHashedPassword("여기에 암호키 삽입");
return egovPasswordEncoder;
}
⁞
보안상의 이유로 application.properties의 Globals.crypto.algoritm값을 변경하였는데 egovframework.com.config.EgovConfigAppCommon.java에 해당 키가 암호화된 값을 set 하는 부분이 있는 줄 몰랐다..
egovframework.com.config의 파일들이 SpringFramework였을 때의 resources/spring/com/context-*.xml과 같은 Spring 설정 파일이라는 것을 알았다.