nugawiki

./categories/back-end

Java keystore SSL 인증서 import

업데이트 2026-07-21 조회수

증상

javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed

원인

상대 서버 CA가 JDK cacerts에 없거나 TLS·cipher 불일치.

keytool import

# 기본 저장소 암호: changeit
keytool -importcert -alias myca -file cert.pem \
  -keystore "${JAVA_HOME}/lib/security/cacerts" -storepass changeit

keytool -delete -alias myca \
  -keystore "${JAVA_HOME}/lib/security/cacerts" -storepass changeit

keytool -list -keystore "${JAVA_HOME}/lib/security/cacerts" -storepass changeit | grep -i myca

InstallCert

javac InstallCert.java
java InstallCert host:443
# jssecacerts 생성 → cacerts로 이전 또는 -Djavax.net.ssl.trustStore=jssecacerts

확인

openssl s_client -connect host:443 -showcerts
curl -vI https://host/

WAS는 JDK/cacerts 변경 후 재기동.

./comments