javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path build
by 뚜부니HTTPS 통신 시도 중 인증서를 확인할 수 없으면 아래와 같은 오류가 발생합니다. 회사 내부망이여서 해당 문제가 발생한 듯 합니다.
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path build
인증서를 다운로드 받고, 등록하면 해당 이슈는 해결됩니다.
참고로 Windows 10 환경에서 수행했습니다.
먼저, Github에 올려진 소스를 다운로드 받습니다.
curl -O https://gist.githubusercontent.com/lesstif/cd26f57b7cfd2cd55241b20e05b5cd93/raw/InstallCert.java
다운로드가 완료되면 소스를 컴파일 합니다.
javac InstallCert.java
InstallCert를 연결하려는 사이트 이름(api.routo.com)과 함께 실행합니다.
java -cp ./ InstallCert xxx.xxx.xxx
# EX
java -cp ./ InstallCert api.routo.com
서버가 2개의 인증서를 전송하며, 보통 아래에 있는게 CA 인증서입니다.
아래 이미지와 같이 2번째 인증서가 Let's Encrypt CA 인증서이므로 2번을 선택해서 저장합니다.
저장이 완료되면 아래와 같은 메시지가 나옵니다.
Added certificate to keystore 'jssecacerts' using alias 'xxx.xxx.xxx-2'
# EX
Added certificate to keystore 'jssecacerts' using alias 'api.routo.com-2'
이제 생성된 keystore jssecacerts의 인증서를 output.cert라는 파일로 저장합니다.
keytool -exportcert -keystore jssecacerts -storepass changeit -file output.cert -alias xxx.xxx.xxx-2
# EX
keytool -exportcert -keystore jssecacerts -storepass changeit -file output.cert -alias api.routo.com-2
그 다음 JVM의 keystore에 CA 인증서를 추가합니다.
keytool -importcert -keystore ${JAVA_HOME}/jre/lib/security/cacerts -storepass changeit -file output.cert -alias xxx.xxx.xxx.xxx-1
# EX
keytool -importcert -keystore /c/Program\ Files/Java/jdk1.8.0_202/jre/lib/security/cacerts -storepass changeit -file output.cert -alias api.routo.com-2
Git Bash로 실행했는데, 아래와 같은 질문이 뜨더라구요... 아무튼 y 누르면 완료됩니다.. 😅😅
🔗 참고
https://www.lesstif.com/java/java-pkix-path-building-failed-98926844.html
https://loonyhyun.tistory.com/entry/JAVA-인증서-추가
'Issue' 카테고리의 다른 글
[Linux] terminal capability "cm" required 해결하기 (0) | 2023.06.27 |
---|---|
[React] 개발 서버 CORS 이슈 (0) | 2023.01.23 |
*Exception to be thrown, but nothing was thrown (0) | 2023.01.08 |
org.apache.catalina.LifecycleException: Protocol handler start failed (0) | 2022.05.12 |
[PHPStorm / IntelliJ / WebStorm] Server Certificates 오류 (0) | 2021.07.12 |
블로그의 정보
개발하는 두부
뚜부니