반응형
신뢰할 수 있는 기관에서 발급받은 ssl인증서가 아니거나 보편적으로 신뢰할 수 있는 기관이지만 JAVA에서 신뢰하지 못하는 경우 HTTPS통신을 하게 될 때 SSLHandshakeException 혹은 PKIXException 에러가 밸생한다.
(해당 exception이 발생한건 TLS버전이 다르다거나.. 다른 이유가 원인일 수도 있지만 본 포스팅에서는 신뢰하지 않는 Root인증서일때에 대해 작성하겠다!)
이 경우 SSL인증서의 상위 인증기관을 JAVA의 keystore에 추가해주어야 한다. 자바의 keystore의경로는 JAVA_HOME/ib/security/cacerts 이다.
방법1. 명령어 이용
keytool -importcert -keystore "cacerts 경로" -storepass "저장소 패스워드" -file "인증서 경로" -alias "인증서 구분용 이름"
- 예시
keytool -importcert -keystore C:\Progra~1\Java\jre1.8.0_144\lib\security\cacerts -storepass changeit -file D:/test.der -alias test
-storepass "저장소 패스워드"는 생략가능하며, 생략하고 명령어를 입력한다면 패스워드를 입력하라고 나온다. (default 패스워드는 changeit이다)
방법2. portecle 프로그램 사용
- cacerts 불러오기
- Import Trusted Certificate.
- 인증서의 신뢰여부 확인 후 별칭 등록하기
- Save Keystore
728x90
반응형
'개발 > JAVA' 카테고리의 다른 글
[JAVA] 접근제한자가 private인 메소드를 호출하는 방법 (1) | 2022.10.13 |
---|---|
[JAVA] 배치(bat), 쉘(sh) 실행하기 (1) | 2022.05.18 |
[JAVA] Runnable 과 Thread의 차이 (0) | 2022.05.16 |
[JAVA] 비동기 처리 방법 - Thread (0) | 2022.04.27 |
[JAVA] java.lang.NoSuchMethodError: org.apache.logging.log4j.Logger.error(Ljava/lang/String;Ljava/lang/Object;)V] (0) | 2022.03.25 |
댓글