본문 바로가기

카테고리 없음

ssl ssl 인증서 발급 후 적용하기 OpenSSL

728x90

 

https://namjackson.tistory.com/25

 

[SSL]HTTPS 통신을 위한 Tomcat SSL 설정하기

HTTPS 및 SSL 암호화 통신을 위해 Tomcat 설정을 해보자 일단 HTTPS, SSL을 왜 사용할까? 링크를 통해 어떠한 사이트에 접속하게된다. 이 사이트가 아무 문제가 없는 사이트라면, 상관이없지만, 개인정

namjackson.tistory.com

https://www.sslcert.co.kr/guides/Spring-Boot-SSL-Certificate-Install

 

Spring Boot SSL 인증서 설치/설정/적용 가이드 - SecureSign

Spring Boot SSL 인증서 설치/설정/적용 가이드 - SecureSign

www.sslcert.co.kr

https://velog.io/@cho876/Springboot-httpsSSL-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0

 

[Springboot] https(SSL) 적용하기

오늘은 SpringBoot 기반, 웹 어플리케이션에 SSL을 적용하는 방법에 대해 배워보도록 하겠다.기본적으로 우리가 만드는 프로젝트는 별도의 ssl 적용을 하지 않는 이상 http://~로 시작하게 된다.그렇다

velog.io

 


window 기준 epenssl 다운로드한다.

https://www.openssl.org/

https://sourceforge.net/projects/openssl/files/latest/download?source=typ_redirect

 

다운로드 후 압축을 푼다.

 

bin > openssl.exe 실행한다.

 

bin 안의 경로에 인증서 파일과 개인키를 넣고

 

pkcs12 -export -in private.crt(인증서이름) -inkey private.key(인증서키이름) -out .keystore -name tomcat

 

를 입력하면 패스워드 입력창이 나온다.

 

 

그러면 .keystore 파일이 생성된다.

 

 

 

.keystore 파일을 원하는 위치로 이동시키고

Tomcat 서버의 servet.xml을 연다. (보통은 톰캣위치\conf 경로에 존재한다.)

server.xml 을 열고 코드를 추가하고 설정한다.

 

1
2
3
4
< connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
          maxthreads="150" sslenabled="true" scheme="https" secure="true"
          clientauth="false" sslprotocol="TLS"
          keystorepass="password" keystorefile="C:/OpenSSL-Win64/bin/.keystore" >

 

 


현재 spring boot 로 진행하여

application.properties 적용하겠다.

 

 application.properties 적용시 예제 (CSR 자동 생성 이용 또는 jks 조합 후)

Properties : /src/main/resources
server.port=8443
server.ssl.key-store="sslcert.co.kr.jks" 지정
server.ssl.key-store-password=xxxxxxx # jks 암호 지정
server.ssl.key-alias=xxxxxxx # (필요시) Alias 명 지정. CSR 자동 생성시에는 CN 명
server.ssl.trust-store= # (필요시) "sslcert.co.kr.jks" 지정. CSR 직접 생성시에는, 루트/체인 스토어 파일 지정
server.ssl.trust-store-password=xxxxxxx # (필요시) jks 암호

* 서버 운영 환경에 따라서 properties 또는 yml 에 맞게 선택 적용하면 됩니다. (예제가 절대 사항 아님)
* Tomcat 등 다른 서버와 연동되는 부분이 있다면, 해당 부분은 직접 확인하여 설정 해야 합니다.
* CN(일반이름) 과 Alias 가 다르면, Alias Property 를 별도로 지정 해주어야 합니다. (변환 매뉴얼 참조)
* CSR 자동 생성 이용시, 개인키에는 패스워드가 지정되지 않습니다. (별도 지정 필요시 변환 매뉴얼 참조)
* CSR 자동 생성 이용시, .pfx / .jks 패스워드는 발급내역서 PDF 또는 주문상세 페이지를 참조하시기 바랍니다.
* 예제에 포함되어 있지 않은 나머지 Property 는 공식 매뉴얼 또는 서버 설정값을 사용하시기 바랍니다.

 application.yml 적용시 예제 (CSR 자동 생성 이용 또는 jks 조합 후)

 

server.ssl.key-store:keystore.p12
server.ssl.key-store-type=PKCS12
server.ssl.key-store-password=qwerty1!

 

이거 세개만 입력해도 된다.

server.ssl.key-store:keystore.p12
server.ssl.key-store-type=PKCS12
server.ssl.key-store-password=qwerty1!

 

 

  • server.ssl.key-store: keystore.p12가 위치한 경로 (default: 현재 프로젝트 root)
  • server.ssl.key-store-type: keystore의 storetype
    우리는 앞선 명령어에서 keytool ~ -storetype PKCS12 ~로 설정했기 때문에 PKCS12로 잡아준다.
  • server.ssl.key-store-password: 앞서 설정한 keystore password

 

서버를 껐다 켠다.