[TIL] 25.02.11 TUE

GDORI·2025년 2월 11일
0

TIL

목록 보기
184/184
post-thumbnail

Spring Boot에서 Let's Encrypt 인증서 적용 (P12 변환 및 설정)

이번 Spring Boot 애플리케이션에서 기존 Node.js에서 사용한 Let's Encrypt 인증서를 적용했다.
P12(Keystore) 형식으로 변환하여 Spring Boot의 application.properties에 적용하면 된다.

인증서 발급

인증서는 기존에 받은게 있어 재활용 할 예정이지만 나중에 보고 쓸수도 있으니 발급부터..certbot을 이용하여 발급한다.

sudo certbot certonly --standalone -d yourdomain.com

발급이 완료되면 인증서와 키 파일이 생성되고 기본 경로는 다음과 같다.

  • 인증서: /etc/letsencrypt/live/yourdomain.com/fullchain.pem
  • 개인 키: /etc/letsencrypt/live/yourdomain.com/privkey.pem

P12(Keystore) 파일로 변환

Spring Boot에서 인증서를 사용하려면 .p12 형식으로 변환해야 하는데 openssl을 이용하여 변환할 수 있다.

openssl pkcs12 -export \
    -inkey /etc/letsencrypt/live/yourdomain.com/privkey.pem \
    -in /etc/letsencrypt/live/yourdomain.com/fullchain.pem \
    -out keystore.p12 \
    -name tomcat \
    -CAfile chain.pem \
    -caname root

비밀번호를 입력하라고 뜰텐데 원하는 비밀번호를 적어주면 된다.

Spring Boot application.properties 설정

생성한 keystore.p12 파일을 Spring Boot에서 사용하려면, application.properties 또는 application.yml에 설정을 추가해야 한다.

🔹 application.properties

server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-type=PKCS12
server.ssl.key-store-password=지정한 비밀번호

keystore.p12src/main/resources에 위치시켜야 한다.

profile
하루 최소 1시간이라도 공부하자..

0개의 댓글

관련 채용 정보