관리자 글쓰기

자바 인증서 저장소에 직접 인증서를 추가해서 사용해야 하는 경우가 있다.

이 글에서는 자바 인증서 저장소에 SSL 인증서 파일을 등록하는 방법을 정리

 

인증서 등록이 필요하게 된 계기

https://www.kicassl.com/sslcert/instlguid/formInstlGuidDtl.sg?unityBbsId=Q3MzbTVGU0Rzd0NEeWZPTlJBc3dmSGNHczByZWt0b0pBTThzazE3aEpTKzZ4TGxwZnc3QzU4RXVQU0NWYllacg== 

 

한국정보인증 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

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 GUI 툴 실행

다운로드받은 압축 파일을 해제하고 portecle.jar 파일을 더블클릭하면 실행된다.

java -jar portecle.jar

만약 더블클릭으로 실행되지 않는다면, 위의 명령어로 직접 실행한다.

Portecle 실행

File -> Open Keystore File 을 선택하여 JAVA_HOME\lib\security\cacerts 파일을 선택한다.

패스워드를 입력창이 나오면 “changeit”을 입력한다.

Portecle에 인증서 추가

Tool -> Import Trusted Certificate 를 선택하여 추가하려는 인증서를 선택해 준다.

Portecle

인증서 등록이 완료되었으면 저장을 하고 프로그램을 종료하면 등록 작업이 완료된다.

아무래도 Portecle이 GUI로 되어있다 보니, 명령 프롬프트에서 Keytool 명령어를 직접 입력하는 것보다 쉽다.