개념

[java] sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target 오류가 발생할 때 인증서 추가 하는 방법

hs_seo 2024. 11. 2. 14:49
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:148)
    at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:129)
    at java.base/java.security.cert.CertPathBuilder.build(CertPathBuilder.java:297)
    at java.base/sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:383)
    ... 29 more

 

java 에서 https 로 접근할 때 위 오류가 발생하는 경우가 있습니다.

 

이는 java 에 설정된 기본 인증서에 호출하는 서버의 인증서가 존재하지 않을 때 발생합니다. 이럴때는 인증서를 무시하거나 인증서를 java의 인증서 목록에 추가 하면 됩니다.

 

여기서는 인증서를 추가 하는 방법을 알아보겠습니다.

 

자바의 기본인증서는 자바의 버전에 따라 달라서 자바 파일에서 cacerts 파일을 찾아 보면됩니다. 여기에 인증서를 추가 하는 방법은 다음과 같습니다.

 

# 인증서 목록 확인 
keytool -keystore cacerts  -storepass changeit -list -v

# 인증서 추가 
keytool -import -keystore cacerts -file [추가 하고자 하는 인증서 pem 도는 crt 파일] -alias "User Certs"
반응형