HTTPS 사설 인증서 발급 및 서버 구현(local환경)

DY_DEV·2023년 5월 12일
0

TIL

목록 보기
12/17

HTTPS 구현을 위해서는 사설 인증서를 발급받아 진행하는 프로젝트에 추가해야됩니다. 우선 자바가 지원하는 인증서 형식을 알아야하는데요, 해당 인증서 형식에는 PKCS12 (Public Key Cryptographic Standards #12)JKS(JAVA KeyStore)이 있습니다. PKCS12는 여러 인증서와 키를 포함할 수 있고 암호로 보호되는 형식이라는 특징을 가지며, JKS는 PKCS12와 유사하지만 독점 형식이고 java 환경을 제한된다는 특징이 있습니다.


설치과정(windows)

  1. 기본 웹 서버 프로젝트를 생성합니다.
    • Spring Initializr에서 Spring Web은 필수로 포함시켜주세요.
  1. mkcert라는 프로그램을 사용합니다.
$ cd ~  // or cd {프로젝트 저장위치}
$ sudo apt install libnss3-tools
$ wget -O mkcert https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64
$ chmod +x mkcert
$ sudo cp mkcert /usr/local/bin/

만약 설치가 안된다면 " $ sudo apt update " 명령어를 실행 후 다시 설치를 진행합니다.


<직면한 문제점>

  • 홈에서(/home/작성자명)에서 진행시 파일의 위치를 해당 프로젝트의 resources로 옮겨줘야한다는 번거로움이 있었다.
  • 파일 탐색기를 통해 쉽게 옮겼지만 터미널 상에서 옮기기가 많이 복잡했다. 다음부터 주의해야할 부분이었다.
  • 문제 해결) wsl에서 cd /mnt/c/ 로 이동 후 윈도우 파일 시스템의 c 드라이브로 이동해 파일의 위치를 변경함.
  1. 인증서를 생성합니다.
	$ mkcert -install
  1. PKCS12 인증서를 생성합니다.
	$ mkcert -pkcs12 localhost
  1. 생성된 인증서를 해당 프로젝트의 RESOURCES 폴더로 이동시킵니다.

embedded.tomcat.TomcatWebServer를 보면 https가 적용된 것을 알 수 있다.

0개의 댓글