참고 : http://lesstif.com/pages/viewpage.action?pageId=12451848
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
톰캣에서 https 호출시에 위와 같은 에러가 발생하는 경우는 자바에 신뢰할 수 있는 인증서가 설치되지 않았기 때문이다.
윈도우를 기준으로 인증서를 추가하는 명령어만 기입한다.
자세한 내용은 위에 링크되어 있는 사이트 참조.
첨부된 InstallCert.java 파일을 다운로드 받아 원하는 디렉토리에 저장한다.
cmd창에서 작업을 진행한다.
- 시작 -> 실행 -> cmd
site domain : karint.test.local
#JAVA_HOME 환경변수가 설정되어 있는지 확인
#환경변수 JAVA_HOME값을 화면에 출력한다.
echo %JAVA_HOME%
위의 명령어를 실행했을때 java_home의 경로가 나오지 않는다면 아래 명령어로 JAVA_HOME 환경변수 설정이 가능하다.
set JAVA_HOME=자바경로
cd [InstallCert가 저장되어 있는 경로]
#컴파일
java -cp ./ InstallCert
#karint.test.local 사이트에서 인증서를 로컬 피시에 저장한다.
java InstallCert karint.test.local 실행후 숫자1 입력
결과
.
.
.
Added certificate to keystore 'jssecacerts' using alias 'karint.test.local-1'
# jssecacerts 파일을 자바용 인증서로 변환
%JAVA_HOME%/bin/keytool -exportcert -keystore jssecacerts -storepass changeit -file output.cert -alias karint.test.local-1
# jre에 인증서 설치
%JAVA_HOME%/bin/keytool -importcert -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit -file output.cert -alias karint.test.local-1
# 설치된 인증서 확인
%JAVA_HOME%/bin/keytool -list -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit -alias karint.test.local-1
12월 18일 추가
첨부파일 : installCert.tar
파일 목록
- InstallCert$SavingTrustManager.class
- InstallCert.class
- InstallCert.java
- installCert.sh
'java' 카테고리의 다른 글
spring boot lazy-loading 사용시 에러 (0) | 2020.01.30 |
---|---|
springboot 핸들바 auto configuration (0) | 2019.10.08 |
openjdk 설치 (0) | 2018.12.10 |
log4j.xml 파일 위치 지정하기 (0) | 2018.04.18 |
hibernate5 JPA schema export (0) | 2018.04.05 |