본문 바로가기
Java & Spring

PKIX path building failed 에러 해결

by superuser 2023. 3. 29.

PKIX path building failed Exception이 발생하는 원인은 다음과 같다.

Java에서는 따로 관리하는 신뢰하는 인증서 목록이 존재하는데 이 파일에 호출하는 도메인 인증서의 루트 인증서가 등록되어 있지 않을 때 발생함.

이를 해결하기 위해서는 서버 인증서를 추출 후, 클라이언트 인증서 keystore에 추가해야한다.

 

 

Step1. openssl로 대상 서버에 연결 후 Base64 인코딩된 SSL 인증서를 certlog 파일에 저장한다.

openssl s_client -connect mydata.ibkc.co.kr:9800 | tee certlog

Step2. certlog 파일에서 인증서 부분만 추출한다.

openssl x509 -inform PEM -in certlog -text -out certdata

Step3. 제대로 추출되었는지 openssl로 인증서 파싱해서 출력을 확인한다.

openssl x509 -inform PEM -text -in certdata

Step4. 추출된 서버인증서인 certdata 파일의 내용을 ca-bundle.crt에 추가한다.

cat certdata >> /sw/apiusr/java_d/jdk11/jdk-11.0.12/lib/security/ca-bundle.crt

Step5. keytool을 이용하여 keystore에 추가한다.

keytool -import -keystore /sw/apiusr/java_d/jdk11/jdk-11.0.12/lib/security/cacerts -file "ca-bundle.crt" -storepass changeit -alias "mydata.ibkc.co.kr"

Step6. Java Daemon을 재기동한다.

댓글