본문 바로가기
공부/java & Spring

[Spring 인증서] Spring boot 무료 ssl 인증서 설치

by 고기 2023. 4. 20.

1. 사이트 접속

2. 인증서 생성에 필요한 파일 다운로드

3. 인증서 생성


 

이전 글에서 어차피 정식 서비스 할 것도 아니라 대충 테스트 ssl 인증서를 만들고 끝낼려했는데 문제가 생겼다.

생각해보니까 이거 도메인에 적용 안되잖아... 

https://1545154.tistory.com/109

 

[ssl 인증서 설치] 로컬에서 사용할 테스트용 ssl인증서 설치하기

1. 로컬에서 ssl 인증서 설치하기 screen capture api를 사용하기 위해 스프링 부트 로컬 프로젝트에 https를 적용하는 과정이다. 프로젝트 내용은 해당 링크 참고하면 된다. https://1545154.tistory.com/100 [Scre

1545154.tistory.com

 

아무튼, 도메인에 https를 적용하려면 ssl 인증서를 발급받아야 한다.

사실 해보면 경험은 되겠지만 천 원 단위면 몰라도 만 원 단위라서 테스트용으로 결제하기에는 굉장히 아깝다...

그리고 애초에 ssl인증서는 어차피 이렇게 만드나 저렇게 만드나 보안레벨 똑같은 인증서... 라고 들었다.

그냥 그걸로 맛있는 걸 사먹자.

 

본문은 ssl 인증서를 기관에서 발급받지 않고 무료로 발급받아서 도메인에 적용하는 과정을 간단하게 작성해봤다.

 

1. 사이트 접속

https://www.sslforfree.com/

 

SSL For Free - Free SSL Certificates in Minutes

Wildcard SSL Certificates Wildcard certificates allow you to secure any sub-domains under a domain. If you want to secure any sub-domains of example.org that you have now or in the future you can make a wildcard certificate. To generate wildcard certificat

www.sslforfree.com

 

사이트 들어가서 로그인 먼저 하자.

회원가입은 필요없고 1234567@naver.com / 1234567 이런식으로 이메일에 메일을 받을 수 있는 주소를, 비밀번호는 아무거나 적어주면 된다.

로그인에 성공하면 자동으로 입력한 정보로 회원가입되고 해당 계정으로 로그인하면 본인이 등록한 인증서를 확인할 수 있다.

 

2. 인증서 생성에 필요한 파일 다운로드

Dashboard 메뉴로 들어가서 New Certificate 버튼 클릭

Enter Domains의 입력칸에 본인이 사용할 도메인 입력

사용할 도메인으로 abcde.com을 입력하면 오른쪽에 abcde.comwww.abcde.com이 나오는데 www.abcde.com은 사용안할거니까 지웠다.

 

Next Step 버튼 클릭

 

90-Day Certificate 선택 후 Next Step 버튼 클릭

 

Auto-Generate CSR 옵션 선택 후 Next Step 버튼 클릭

 

Free $0 / month 옵션 선택 후 Next Step 버튼 클릭

 

3개 옵션 중 원하는 옵션을 선택해서 진행하면 된다.

나는 당장 지금 단계에서 Email이랑 DNS는 진행할 수 없어서 HTTP File Upload 옵션을 선택했다.

 

Download Auth File를 선택해서 txt를 다운로드 받는다.

 

다운로드 받은 txt를 해당 경로에 옮긴다.

경로는 resources/static/.well-known/pki-validation/txtfile이다.

 

해당 경로에서 txt file을 확인해보자. 사진과 같이 나오면 된거다.

마찬가지로 localhost 부분을 본인의 도메인으로 변경해서 확인해보자. 아래 결과와 동일하면 된다.

 

본인의 도메인인지 확인하는 단계인데, Verify Domain 버튼을 클릭해서 요청이 성공하면 된다.

요청이 실패할 경우 Verification Status에 오류 메시지가 출력되는데 그걸 보고 해결하자.

근데 보통 경로가 틀리지 않는 이상 대부분 잘 된다.

 

성공하면 다음과 같이 인증서 생성에 필요한 파일을 다운로드 받을 수 있다.

Server Type를 Tomcat으로 변경 후 Download Certificate 버튼을 클릭해서 다운로드 받아주자.

 

3. 인증서 생성

인증서를 생성하려면 openssl이 필요한데... openssl 설치하는 방법에 대해서는 따로 작성하지 않는다. 

설치 후 위에서 다운로드 받았던 파일이 저장된 위치에서 인증서를 생성해주자.

openssl pkcs12 -export -out keystore.p12 -inkey private.key -in certificate.crt -certfile ca_bundle.crt

 

생성한 인증서 keystore.p12를 본인의 인증서 경로에 옮긴다.

나는 프로젝트 루트 경로에 sslWork 디렉토리를 생성해서 인증서를 두었다.

application.properties 또는 application.yml 파일에 인증서 정보를 세팅해주자.

그리고 일단은 .key file과 .p12 file이 유출되면 안된다... 고 한다.

테스트용이라서 괜찮지 않나? 싶기도 한데 아무래도 찝찝하니까... 아무튼 유출됐으면 다시 만듭시다.

server:
  ssl:
    key-store: /sslWork/keystore.p12 // 인증서 파일 경로
    key-store-password: 1234567 // 인증서 파일 비밀번호
    keyStoreType: PKCS12 // 인증서 타입

 

본인의 도메인을 들어가보면 ssl인증서가 적용되어 있는걸 확인할 수 있다.

 

끝!

댓글