ssl 인증서 jks 포멧 변환

Author:

ssl 인증서 jks 포멧 변환

이메일: jongmoon@hacksper.com
태그: ssl,인증서,ssl인증서,jks,openssl,https


certbot 설치

  • 기본적으로 웹서버(nginx 또는 apache)가 운영되고 있어야 하며, 도메인 호스트 수정이 가능한 상태여야 한다.
    • snap 이 설치되어 있지 않다면 다음 명령 실행. certbot은 언젠가 부터 snap 으로만 최신버전을 배포하기 시작했다.
    • snap은 apt처럼 라이브러리와 프로그램이 배포되는것과 달리 단일 패키지로 모두 포함되서 배포되는데 도커(docker)를 생각해보면 이해하기 쉽다.(도커를 사용해 실행되는것이 아니다.)
    • snap을 통해 설치된 애플리케이션은 자체 샌드박스에서 완전히 격리되서 실행되는 컨테이너화된 애플리케이션이다.
sudo snap install core; sudo snap refresh core
  • certbot 설치
sudo snap install --classic certbot
  • certbot을 기본 명령어로 연결
sudo ln -s /snap/bin/certbot /usr/bin/certbot
  • 만약 이미 apt 로 이전 버전의 certbot이 설치되어있는 상태라면 제거 후 진행해야 한다.
sudo apt-get remove certbot

인증서 발급

  • hacksper.com 기준 인증서 발급. 이후 화면에 나오는 설명대로 진행
    • 2022-07-01 09:36 기준으로 도메인 txt 에 문구추가, 웹 서버에 인증 파일 추가 등이 있다.
    • *.hacksper.com 을 추가하여 1차 subdomain을 모두 지원하도록 한다.
sudo certbot certonly --manual --cert-name hacksper.com -d hacksper.com,*.hacksper.com
  • 생성된 인증서는 다음 디렉토리에 있다. sudo -s 명령으로 root 권한 획득 후 접근 가능하다.
cd /etc/letsencrypt/live/hacksper.com

openssl 합치기

openssl pkcs12 -export -name hacksper.com -in fullchain.pem -inkey privkey.pem -out cert.pfx

keytool로 jks 형태로 만들기

keytool -importkeystore -srckeystore cert.pfx -srcstoretype pkcs12 -alias hacksper.com -destkeystore cert.jks -deststoretype jks

키확인

keytool -list -v -keystore cert.jks