Java 기반에서 SSL 접속시, PKIX path building failed 오류

기술자료, 설치/적용 이슈 주요 사례

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target


오류 내용은, 인증서 유효성을 확인할수 없다. 라는 의미 입니다. (Java 버전에 따라 표시되는 메시지를 달라질수 있음)


[주요원인.1 - 서버측 원인]

웹브라우저에서 SSL 인증서 적용된 https:// 웹사이트 호출(접근)시, 웹서버에 SSL 인증서 설치 적용시 '루트/체인(중개)' 을 누락하고 '서버인증서' 만 적용했기 때문입니다. (CSR 직접 생성 후, jks 파일을 직접 생성,조합 과정에서 루트/체인 포함 누락)


[주요원인.2 - 클라이언트 원인]

Java Client 에서, SSL 인증서 적용된 https:// 웹사이트 호출(접근)시, 서버 SSL 인증서 발급자(루트/체인) 정보가 Client 에 없을때도 발생합니다.  (매우 오래된 Java 버전에서도 발생 > Java 버전 업그레이드) (Java Client 에 루트/체인 수동 추가 필요)



⦁ Java 환경의 루트 인증서 보유 확인 및 추가 방법 https://www.sslcert.co.kr/guides/kb/47

⦁ SecureSign 에서는 'CSR자동생성' 으로 SSL 인증서 발급 신청시, .jks 포맷 파일도 함께 제공하며, .jks 에는 '개인키+서버인증서+체인인증서+루트인증서' 가 모두 포함되어 있습니다.

⦁ SecureSign 에서 발급시 첨부 제공해드리는 .jks 파일을 웹서버에 바로 적용해 주시면 완료됩니다. Java 환경에서 SSL 적용을 위해 keytool 을 이용한 별도의 추가 작업을 할 필요는 없습니다.


https://www.sslcert.co.kr/faq/view/172
https://www.sslcert.co.kr/guides/Tomcat-SSL-Certificate-Install
https://www.sslcert.co.kr/guides/SSL-Certificate-Convert-Format



컨텐츠의 무단 전재/복사 및 이메일 주소의 수집/이용을 허용하지 않습니다.
bitSyrup 2023. All rights reserved.