PKIX path building failed 오류 해결 방법
개발환경 JAVA에서 구글 캘린더 연동 중 PKIX path building failed 오류가 발생 했는데 에러발생 원인 및 해결방법을 까먹지 않기 위해 게시글을 작성하게 되었습니다.
1) 오류내용
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:439)
at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:306)
at sun.security.validator.Validator.validate(Validator.java:271)
at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:312)
at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:221)
at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:128)
at sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:636)
... 74 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:434)
... 80 more
에러원인을 찾아보면 외부API통신이 막혀있는 것으로 확인 됐습니다.
구글링을 했을 때 대부분이 해당 웹사이트의 SSL인증서를 다운받아서 cacerts.cer 파일을 올리는 방법이 많았으나
해당 작업으로 해결이 되지 않았습니다.
2) 해결방법
Java 1.7 에서 SNI support 가 기본적으로 enable 되어 있는데, 이 경우 해당 에러가 발생된다고 합니다.
enableSNIExtension 값을 true처리하니 해결되었습니다.

읽어주셔서 감사합니다.