SSL Handshake 에러 인증서 등록
Maven 레포지토리에서 dependencies 를 가져올 때 아래와 같은 에러가 날 수 있다.
download error: Caught javax.net.ssl.SSLHandshakeException (PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target) while downloading https://repo1.maven.org/maven2/org/scala-sbt/sbt/1.8.0/sbt-1.8.0.pom
해당 에러는 Repository가 https 로 넘어가면서 부터 인증서를 요구하기 때문이라고 한다.
그러므로 설치한 jdk에서 security 쪽 cacerts에 해당 repository 인증서를 등록해줘야 한다.
1. 인증서 다운
간단한 방법이다. 해당 url을 타고 들어가 자물쇠 표시를 눌러 인증서를 다운받으면 된다. 이 때 root 를 내려받아야 한다.
2. 인증서 적용
keytool -importcert -keystore “%JAVA_HOME%\jre\lib\security\cacerts" -storepass changeit -trustcacerts -alias "CERT" -file “내보내기 한 인증서"
# 예제
# keytool -importcert -keystore "C:\Program Files (x86)\java\java-1.8.0-openjdk-1.8.0.332-1.b09.ojdkbuild.windows.x86_64\jre\lib\security\cacerts" -storepass changeit -trustcacerts -alias "CERT" -file "repo1.maven.org.crt"