Spring Tools Suite(STS): SunCertPathBuilderException 에러 노트

Spring Tools(STS) 를 처음 설치 후 사용하다 “SunCertPathBuilderException” 에러가 발생 하였다.

STS 를 설치하고 JDK 연결해주고 Create new Spring Starter Project 를 하자마자 에러가 발생해 때려 치울까 고민도 했지만 약 두 세 시간 집착 끝에 이를 해결 하였다.

이는 Java 와 관련해서 SSL 핸드셰이크 과정(서로 통신하기 전 정보를 서로 주고 받는 것) 에서 조건이 충족되지 않는 경우 발생한다고.

말이 어렵지만 내가 해결하고 난 결론은 STS 와 연관 된 JDK 가 https://start.spring.io 에 접근 할 때 인증서 등의 문제가 발생하는 것으로 이 URL 에 직접 접근해 인증서를 다운 받은 후 JDK 에 적용하면 된다.

Spring.io SSL 인증서 다운로드

다운로드 하는 방법은 간단했다. 나는 Google Chrome 을 이용해 다운로드 할 수 있었고 Microsoft Edge 로 다운로드 하는 방법은 잘 모르겠다. Chrome 이 설치 되어 있지 않으면 설치 하고 다음 방법을 따라 해 다운로드 할 수 있다.

1. URL 접속

문제가 되었던 https://start.spring.io/ 에 접속한다. 그럼 다음과 같은 사이트가 접속 된다.

https://start.spring.io/ 사이트 이미지

2. 인증서 뷰어 열기

웹 사이트가 열렸다면 URL 왼쪽의 자물쇠 버튼을 누르고 “이 연결은 안전합니다” 를 선택 후 하단에 “인증서가 유효함” 선택 시 인증서 뷰어가 출력 된다.

3. 인증서 내보내기

인증서 뷰어가 열렸다면 위의 세부정보(D) 탭을 눌러 내보내기를 누른다. 파일은 저장 시 DER-인코딩 바이너리 형식을 선택 하라 했지만, 나는 그냥 다운 받고 평소 알던 확장자인 .cert 로 변경 하였다.

JDK 인증서 적용하기

JDK 인증서 적용하는 방법은 windows 기준 cmd 창을 열어 다음 명령어를 입력하면 된다. 만약 keytool 등의 명령어를 찾을 수 없다는 등의 메시지가 나올 수 있는데 JDK 관련 환경 변수 설정이 선행 되어야 한다.

JDK 환경 변수 설정 방법은 구글 검색 시 엄청나게 많은 글을 볼 수 있다.

keytool -import -alias sts-key -keystore "JRE 경로\lib\security\cacerts" -storepass changeit -file 폴더 경로\_.spring.io.cert
BAT (Batchfile)
  • 이 명령어 에서 -keystore 뒷 부분은 본인이 사용 중인 JRE 경로로 가 cacerts 파일이 위치한 곳을 입력해야 한다.
  • -storepass 뒤의 changeit 은 비밀번호다. Password 오류가 발생하면 사용 중인 JDK 에 따라 초기 비밀번호를 찾아야 한다. (나의 경우 Open JDK 사용 중)

해당 명령어를 입력하면 여러 메시지가 나오고 예를 누르면 적용 되었다 표시 될 것이다.

위의 방법으로 해결되지 않았을 경우

나도 위의 JDK 방법을 적용했지만, 바로 해결되진 않았는데… 그 덕분에 거의 4시간을 노가다 하고… 해결 되었다!

안되던 이유는 JDK 가 IDE 내의 Install JRES 에 설정하여도 STS 가 자체적으로 지닌 JDK 를 가지고 IDE 가 실행되고 Project 생성이 동작 되던 모양이다.

뭔가 STS 내의 Error Log 를 확인해 보니 SSL 관련 메시지가 보여 더블클릭 해보니까 내가 설치 하지 않은 1.7 버전 오류 메시지가 표시되어 이상함을 느끼고 이것이 힌트가 되어 해결 하게 되었다.

즉, 결론은 내가 별도로 설치한 JDK 말고 STS 내의 Plugins 폴더의 JDK 에 이 작업을 해주니 해결 되었다.

STS 내의 JDK 경로는 “STS_folder\plugins\org.eclipse.jsutj.openjdk.hotspot.jre.full.win32.x86_64_버전\jre” 에 위치해 있었다. 확인 후 위에 작업을 수행하니 해결 되었다. 👍

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
목차
위로 스크롤