StartIT

Let's Encrypt window톰캣 인증서 받기(https) 본문

기타

Let's Encrypt window톰캣 인증서 받기(https)

IT스타터 2020. 11. 26. 14:28
반응형

http로 서버를 운영하면 보안 관련해서 문제가 많이 생긴다. 큰 예시로는 카메라나 오디오 기능을 사용할 수가 없다. 따라서 https 프로토콜로 바꿔서 운영을 하려면 프로토콜 인증서를 받고, 톰캣에 적용해야 한다. 그렇기 위해서는 먼저 인증서를 발급받아야 한다.

letsencrypt.org/docs/client-options/

 

ACME Client Implementations - Let's Encrypt - Free SSL/TLS Certificates

Auf Deutsch ansehen Ver en español Voir en Français לעבור לעברית 日本語で表示する 한국어로 보기 Ver em Português (do brasil) Просмотреть на русском Visa på svenska 使用简体中文阅读本网页。 使用

letsencrypt.org

사이트에 들어가서 

window 톰캣의 프로토콜을 바꿀 것이므로

windows 의 win-acme를 눌러서 나오는 사이트에서 해당 프로그램을 다운로드한다.

zip 파일의 압축을 해제한 뒤 cmd를 활용하여 wacs.exe 파일을 실행한다.

 

m을 입력하여 증명서 생성 옵션을 선택한다.

Manual input 옵션인 2번을 선택한다.

가지고 있는 서버의 도메인을 입력한다. 포트번호를 입력하면 X 해당 프로그램은 자동으로 80 포트만 가지고 도메인의 소유권을 파악하게 되어있다.

도메인 확인 후 enter를 입력한다.

도메인의 소유권을 증명하는 방식을 고르는 옵션이다.

network의 pasth를 통해 증명할 것이므로 1번을 선택한다.

가지고 있는 서버의 root path를 입력한다. index페이지가 나오는 그 path를 입력하면 된다.

변경 전 web.config를 먼저 복사해둘 것이냐고 묻는 것 같은데 default 값이 n이기도 하고 해서 n을 입력했다.

RSA key 타입으로 받을 것이므로 2번을 선택

일단 apache, nginx 등의 서버용인 PEM파일로 받기 위해 2번을 선택한다.

해당 파일이 저장될 경로를 지정한다.

다른 방식으로 또 저장을 할 건지 묻는다. 필요 없으니 5번을 누른다.

먼저 install 할 단계가 있는지 묻는 거 같다. 필요 없으니 4번을 누른다.

일정 시간이 지나면 4개의 pem 파일이 생성된다.

이제 생성된 key파일과 chain파일을 이용해 이제 톰캣용 인증서 파일인 .p12 파일로 변환을 시켜야 한다.

openssl을 다운로드하고 bin폴더에 해당 4개의 파일을 이동시킨다.

관리자 권한으로 openssl을 실행시킨 뒤 

pkcs12 -export -in 파일명-crt.pem -inkey 파일명-key.pem -out keystore.p12 -name tomcat -CAfile 파일명-crt.pem -caname root를 입력한다.(보통 파일명이 도메인명으로 되어있다.)

그 후 인증서 파일의 비밀번호를 입력하면 인증서가 톰캣용 인증서인 .p12 파일로 변환이 된다.

해당 keystore파일이 생성되는지 확인한다.

1
2
3
4
5
6
7
8
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
  maxThreads="150" SSLEnabled="true">
    <SSLHostConfig>
      <Certificate certificateKeystoreFile="file Path"
                   certificateKeystorePassword="password"
                   certificateKeystoreType ="pkcs12" type="RSA" />
    </SSLHostConfig>
</Connector>
cs

톰캣의 conf 폴더에 server.xml를 열고 해당 keystore파일의 패스와 비밀번호를 입력한다.

이후 톰캣을 재시작 후 8443 포트를 활용하여 https 프로토콜로 접속을 하면 접속이 된다.

만약 파일 path에 관련된 에러가 나온다면 앞에 file:///를 입력하여 file경로임을 명시해준다.

ex..) certificateKeystoreFile="file:///C:/Tomcat9/keystore/keystore.p12" 

 

 

 

 

 

 

 

참고

jimnong.tistory.com/845

 

[윈도우10 64bit] APM : Let's Encrypt SSL 인증서 수동 발급과 아파치(Apache)에 적용하기

2~3년 전, https 설정을 위한 Let's Encrypt 무료 SSL 인증서 발급/관리 프로그램이 (윈도우 기준) 아파치 용으로는 깔끔치 못해서 부득이하게 홈서버 OS를 우분투로 교체했었습니다. 그런데 시간이

jimnong.tistory.com

namjackson.tistory.com/24

 

[SSL]HTTPS통신을 위한 SSL인증서 발급하기(OpenSSL)

먼저 HTTPS통신을 구현 하기 하기전, SSL 이란? Secure Socket Layer의 약자로 SSL 프로토콜은 간단하게 웹서버와 브라우저 사이의 보안을 위해 만들어졌다. 간단하게 요약하자면 대칭키를 이용하여 암호

namjackson.tistory.com

bigboss.io/2019/05/install-letsencrypt-ssl-certificate-for-windows-tomcat/

 

영혼 없이 Windows용 Tomcat에 Let's Encrypt SSL 인증서 설치하기 - bigboss.io

Let’s Encrypt 인증서를 설치하려고 검색을 해보니 리눅스 환경에서 certbot을 활용하는 방법이 주로 나왔습니다. 윈도 환경에서는 IIS에 적용하는 방법은 종종 찾을 수 있었지만 Tomcat에 적용하는 방

bigboss.io

 

반응형
Comments