메뉴 건너띄기
상단메뉴 바로가기
본문 바로가기

이 누리집은 대한민국 공식 전자정부 누리집입니다.

본문 영역

적용 지원, FAQ, Q&A 게시판을 통해 기술 문제 해결을 지원합니다.

묻고 답하기

DB접속정보 암호화 중 오류
  • 작성자

    이*훈

  • 작성일

    2024-11-25 17:59:13

  • 조회수

    346

  • 구분

    실행환경 / 4.2

  • 진행상태

    완료

질문

안녕하세요.

전자정부프레임춰크 DB접속정보 암호화구현하고 있습니다.

해당 문서에 대로 구현하였습니다만,
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.2:fdl:crypto

- Crypto algorithmKey, algorithmKeyHash 생성 ==> 정상

테스트는 잘됩니다만, 실행시에 다음과 같이 오류 메시지가 출력됩니다.
Caused by: java.lang.IllegalArgumentException: Prohibited character

* PgConnection.java 로그
- this.queryExecutor = ConnectionFactory.openConnection(hostSpecs, info);
- hostSpecs : jdbc:postgresql://localhost:5432/mydb
- info : {password=ii�r@�T�p���'�, user=my_user}

* globals.properties 내용
- Globals.postgresql.Password=gnHQaFYDMO1Hk5VCZw3wlw%3D%3D

* context-crypto.xml 내용
- <property name="password" value="#{egovEnvCryptoService.getPassword()}" />

PgConnection.java와 globals.properties 의 Password가 서로 다른것 같습니다.

제가 일주일째 삽질하고 있는데, 뭘 빼먹은게 있을까요 ?

감사합니다.

환경정보
    - OS 정보 :
    - 표준프레임워크 버전 : 4.2
    - JDK(JRE) 정보 :
    - WAS 정보 :
    - DB 정보 : postgresql
    - 기타 환경 정보 :
답변

안녕하세요.
표준프레임워크 센터입니다.

Prohibited character 오류는
허용되지 않은 문자를 처리하는 과정에서 발생하는 오류로
암호화 된 PostgreSQL의 패스워드에
"%3D%3D"와 같이 URL 인코딩 처리되어 복호화를 진행하여
의도한 결과와 다른 암호가 적용되는 것으로 보입니다.

EgovEnvCryptoService가 암호화 된 데이터를 복호화 할 때
허용되지 않은 문자를 생성하지 않는지 확인이 필요하며
암호화 된 값이 URL 인코딩되어 넘어가는 경우
복호화 전에 해당 값을 디코딩 처리 후 진행해 보시기 바랍니다.

포탈사이트 공통컴포넌트 샘플코드도 다운로드 받아
참고해 보시기 바랍니다.
https://www.egovframe.go.kr/home/sub.do?menuNo=49

감사합니다.

이 페이지의 구성

묻고 답하기