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을 재기동한다.
'Java & Spring' 카테고리의 다른 글
| jMeter Random Controller (0) | 2023.05.04 |
|---|---|
| [Zuul] route 타입 필터 작성 참조 (0) | 2023.04.17 |
| gradle build시 다른 gradle project 참조하는 방법 (0) | 2023.03.09 |
| JSONObject로 json 생성 시 순서가 안 맞을 때 (0) | 2023.03.09 |
| IntelliJ 단축키 (0) | 2023.03.09 |
댓글