자바 인증서 저장소에 직접 인증서를 추가해서 사용해야 하는 경우가 있다.
이 글에서는 자바 인증서 저장소에 SSL 인증서 파일을 등록하는 방법을 정리
인증서 등록이 필요하게 된 계기
한국정보인증 SSL
본 문서는 한국정보인증㈜의 SSL인증서 구매자에게 웹 서버에 인증서 신청 및 설치 용도로 제공됩니다. 한국정보인증㈜의 서면 동의 없이 본 문서의 전체 또는 일부를 다른 용도로 사용하실 수
www.kicassl.com
회사 네트워크를 사용하려면 한국정보인증 SSL 인증서를 등록해서 사용하는 환경;
회사 전용 cer 확장자의 인증서 파일을 더블클릭하여 시스템에 인증서를 등록하면 웹브라우저를 비롯한 대부분 프로그램은 문제없이 SSL 통신을 하면서 사용할 수 있다.
그러나 자바의 경우엔 시스템에 설치된 인증서가 아닌 자체 인증서 저장소를 가지고 있어서 자바의 Keystore 에 추가하는 작업을 해 주어야 한다.
자바의 인증서 저장소에 인증서를 추가하지 않으면 자바로 만들어진 개발 툴(Eclipse, IntelliJ, Android Studio 등)를 사용할 때 https 통신 중 SSLHandshakeException, PKIX Exception 등의 오류가 발생하게 된다.
자바의 루트 인증서 저장소 위치
자바의 루트 인증서 저장소는 ex) JAVA_HOME\lib\security\cacerts 에 있다.
JAVA_HOME은 자바가 설치된 경로다.
ex) C:\Program Files\Java\jre1.8.0_251
인증서 저장소 파일인 cacerts 파일에 인증서를 등록하는 방법은 두 가지 방법이 있다.
커맨드 창에서 명령어를 입력하는 방법, GUI툴을 이용하는 방법이 있다.
두 가지 방법에 대해 각각 설명
1. JAVA Keytool을 이용한 인증서 등록
Keytool은 자바의 인증서와 키를 관리하기 위해 JRE 또는 JDK에 포함되어 제공되는 프로그램이다.
자바를 설치하면 JAVA_HOME\bin\keytool.exe 파일로 존재한다.
파일을 실행하면 사용할 수 있는 명령 옵션 목록이 출력된다.
인증서 등록은 아래와 같이 진행하면 된다.
keytool -import -keystore "루트인증서 저장소" -file "루트인증서 파일명" -alias "루트인증서 구분용 이름"
ex) 아래와 같이 입력
keytool -import -keystore "C:\Program Files\Java\jre1.8.0_251\lib\security\cacerts" -file my_cert.cer -alias my_cert
명령어를 입력하면 저장소 패스워드를 입력하라고 나오는데 기본 패스워드는 “changeit” 이다.
“changeit”을 입력하면 된다.
등록된 인증서 목록을 조회하여 인증서 등록이 잘 진행되었는지 확인한다.
keytool -list -keystore "C:\Program Files\Java\jre1.8.0_251\lib\security\cacerts"
2. Portecle GUI 툴을 이용한 인증서 등록
Portecle GUI 툴을 이용하는 방법은 Keytool을 사용하는 방법보다 간단하다.
우선 Portecle GUI 툴을 다운로드 받는다.
https://sourceforge.net/projects/portecle/
Portecle
Download Portecle for free. Portecle is a user friendly GUI application for creating, managing and examining key stores, keys, certificates, certificate requests, certificate revocation lists and more.
sourceforge.net
다운로드받은 압축 파일을 해제하고 portecle.jar 파일을 더블클릭하면 실행된다.
java -jar portecle.jar
만약 더블클릭으로 실행되지 않는다면, 위의 명령어로 직접 실행한다.
File -> Open Keystore File 을 선택하여 JAVA_HOME\lib\security\cacerts 파일을 선택한다.
패스워드를 입력창이 나오면 “changeit”을 입력한다.
Tool -> Import Trusted Certificate 를 선택하여 추가하려는 인증서를 선택해 준다.
인증서 등록이 완료되었으면 저장을 하고 프로그램을 종료하면 등록 작업이 완료된다.
아무래도 Portecle이 GUI로 되어있다 보니, 명령 프롬프트에서 Keytool 명령어를 직접 입력하는 것보다 쉽다.
'TIL' 카테고리의 다른 글
편하게 readme 작성할수 있게 하는 확장프로그램 (0) | 2023.02.11 |
---|---|
[Java] Gson 라이브러리 사용법 및 예제 (Json 생성, 변환) (0) | 2023.02.09 |
WebSocket을 사용해 게임 플레이어의 실시간 방 참여를 활성화 하기 (0) | 2023.01.30 |
Mybatis의 장점, 단점 Jpa의 장점, 단점 (0) | 2023.01.27 |
RDS - MySQL (0) | 2023.01.07 |
N + 1 문제가 발생하는 이유 / 해결하는 방법 (0) | 2023.01.04 |
2023-01-03 Today I learned Oauth (0) | 2023.01.03 |
2022-12-14 ubuntu 시간 재설정 (0) | 2022.12.14 |