본문 바로가기

JAVA

[JAVA] No X509TrustManager implementations available

반응형

Java를 이용하여 외부 HTTPS 통신시 아래와 같은 에러 로그를 발견할 수 있다. 

 

sendHttps executejavax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException:
No X509TrustManager implementation available
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException:
No X509TrustManager implementation available
exception Process error javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException:
No X509TrustManager implementation available

 

해당 에러는 외부 HTTPS 요청시 참조하는 Java의 cacerts 파일의 권한 문제일 가능성이 있다. 

 

※ cacerts 

- 클라이언트의 루트 인증서 저장소 

- 외부 서버와 HTTPS 통신시 서버로부터 전달 받은 인증서를 검증할 루트 인증서가 없다면 신뢰성 검증을 할 수 없어서 통신이 불가능 

- 파일 경로: "$JAVA_HOME/jre/lib/security/carerts"  ex) /usr/java8_64/jre/lib/security/carerts

 

cacerts 파일의 권한이 아래와 같이 설정되어 있는지 확인한다.

 

-rw-r--r--  1 bin  bin  10300 Dec 23 14:12 cacerts

 

반응형