본문 바로가기

경험/Spring

[ERROR] unable to find valid certification path to requested target

https://~~~.co.kr/~~ API 호출해서 체크하고 응답값에 따라 구분해주세요~

외부 API 호출해서 처리할 이슈가 생겼다. 원래는 브라우저에서 처리하려고 했으나, 외부업체에서 "CORS 정책을 풀어줄 수 없다"하여 백엔드에서 호출하고 프론트에 던져주는 흐름으로 

자바로 URLConnection을 만들어서 요청하는 도중, 생전 처음 보는 오류를 보았다.

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

인증서 유효성을 확인할 수 없어서 PKIX 경로를 만드는 데 실패했다?

무슨 소리인지 잘 몰라 찾아보니, 해당 사이트의 인증서를 받아 JRE에 추가하면 된다고 한다! (코드 수정 없이 해결할 수 있었다.. ^^)

 

 

1. 요청할 사이트의 인증서를 다운로드 받는다.

    a. 주소창 옆에 있는 자물쇠 버튼을 클릭한다.(In 모던 브라우저) 

    b. 인증서가 유효함 클릭

    c. 인증서 이미지를 Finder에 드래그하여 다운로드 (Mac의 경우)

드래그 중..


2. JRE에 해당 인증서를 추가한다.

sudo keytool -importcert -alias your-alias -keystore "자바경로/jre/lib/security/cacerts" -storepass changeit -file "넣어줄 cer 파일경로"

 

다시 해보면 오류 없이 정상적으로 응답이 온다!


참고 사이트

https://www.sslcert.co.kr/guides/kb/84

 

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

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

www.sslcert.co.kr