Java SSL 인증서 생성 & 등록
SSL 인증서 생성 (InstallCert)
1. InstallCert 다운로드
curl -O https://gist.githubusercontent.com/lesstif/cd26f57b7cfd2cd55241b20e05b5cd93/raw/InstallCert.java
2. InstallCert 설치
javac InstallCert.java
3. InstallCert를 통해 인증서 다운로드 (InstallCert가 있는 위치에서)
java -cp ./ InstallCert [IP 주소(포트 포함)]
4. 다운로드 후 출력되는 keystore명과 alias 기억
Added certificate to keystore 'jssecacerts' using alias '172.16.100.72-1'
5. 인증서를 지정한 인증서명으로 저장 (.cert 파일)
keytool -exportcert -keystore jssecacerts -storepass changeit -file [인증서명] -alias 172.16.100.72-1
SSL 인증서 등록 (Portecle 이용)
1. https://sourceforge.net/projects/portecle에서 Portecle.zip 파일 다운로드
2. 압축 해제 후 java -jar portecle.jar로 Portecle 실행
3. 메뉴창 File - Open Keystore File 클릭 후 Java 폴더/lib/security에 있는 cacerts 선택 (비밀번호 기본값 = changeit)
4. 메뉴창 Tools-import Trusted Certificate 클릭 후 등록할 인증서 파일 선택
※ Linux에서 portecle을 사용하기 위해서는 apt-get install xorg 실행 후 재부팅
SSL 인증서 등록 (keytool 이용)
keytool
- Java 인증서 및 key 관리 도구 (JDK에 포함)
- Java Keystore를 생성하고 관리하며, 주로 SSL/TLS 통신을 설정하거나 Java 기반 애플리케이션에서 사용되는 인증서 및 키 관리 작업을 수행하는 데 사용
- 명령어 맨 앞에 keytool을 붙여 실행
keytool 기본 명령어 및 옵션
-list = 조회
-genkey = key 생성
-genkeypair = key 쌍 생성
-certreq = CSR(Certificate Signing Request) 파일 생성
-export = keystore에 인증서 저장
-alias = 별칭 설정
-storepasswd = keystore 비밀번호 변경
-keyalg = 암호 알고리즘 설정
-keysize = key 크기 설정
-storetype = keystore 형식 설정 (pkcs12 & jks)
-validity = 유효기간 설정
-keystore = keystore 이름 지/설정
[참고 사이트] - https://www.lesstif.com/java/java-keytool-keystore-20775436.html
keytool을 이용한 인증서 등록
-keytool -import -keystore [keystore명] -file [인증서명] -alias [인증서 별칭]
★ HTTPS에 의해 막히는 접근을 해제하기 위해 내 PC를 등록하는데 사용하는 도구 - keytool, Portecle
★ 등록된 특정 IP만 접근 가능한 상황에서 내 IP를 등록하는데 사용하는 도구 - InstallCert