tomcat 8.5 SSL 사용 ( JKS , PKCS12, PEM ) HTTP/2 적용

TOMCAT 8.5 에서 SSL 인증서를 사용하기 위한  방법 총괄 정리

TOMCAT에서 인증서를 사용하는 방법은 2가지가 존재한다.

JKS : Java Standard Keystore 포맷이며 JDK포함되어 있으며 keytool 명령어를 사용할 수 있다.
PKCS12 : 인터넷 표준 포맷이고 OPENSSL 를 사용하여 생성 할 수 있다.

여기서 다루는 방법은 3가지이다. ( 첫번째와 두번째 방법을 권장 / 표준이용)
1. PEM (openssl) 인증서를 -> PKCS12 변환 -> JKS 변환해서 사용
2. PEM (openssl) 인증서를 그대로 사용 ( tomcat native 설치되어 있으면 HTTP/2 지원 미설치시 HTTP/1.1만 지원  ) 권장
* tomcat native 설치는 —> https://xinet.kr/?p=1669

3. keytool 이용하여 JKS 사용

 

첫번째 방법은 openssl 인증서를 만들고 PKCS12 변환 후 다시 JKS 변환해서 사용하는 방식 ( HTTP/1.1 지원    HTTP/2 미지원)

CSR 파일이 생성되었으면 인증서 업체에 CSR 정보를 보내어  인증서 파일을 받으면 된다. 보통 인증서,체인인증서,ROOT인증서를 받는다
개인인증서 : jsp4.xinet.kr.crt
root 인증서 : DigiCertRoot2.crt.cer
체인 인증서 : EncryptionEverywhereDVCA.crt

해당 인증서의 파일이 3개가 존재한다면 key 파일과 인증서파일을 이용하여 통합 통합된  PEM 인증서를 PKCS12포맷으로 변환한다

개인키 → 메인인증서 → 체인인증서 → 루트인증서

 KEYTOOL를 이용하여 PKCS12 -> JKS 포맷으로 변환

 변환된 JKS 파일 keytool 로 인증서 확인

tomcat 의 server.xml 파일을 열어서  SSL 설정을 하면 된다.

 

 

2. 두번째 방법은 openssl를 이용하여 만든 인증서를 변환하지 않고 그대로 사용하는것이다
tomcat native 가 설치되어 있으면  HTTP/2를 지원해서 사용하고 아니면 HTTP/1.1 를 이용하면 된다.

tomcat native 설치는 —> 여기에서 확인

동일하게 openssl 을 이용하여 인증서를 만들고 개인인증서,체인인증서,root인증서를 업로드 한다.

tomcat native 가 미설치시에는 아래와 같이 구성 https-openssl-nio protocol 사용

 

  

 

tomcat native 가 설치되어 있을경우 아래와 같이 server.xml 를 사용 ( HTTP/2 지원 )

( 절대 Protocol=”TLS” 기입하지 말것)

 

 

 

 

무료 인증서인 letsencrypt 를 이용하여 SSL를 구성할 수 있다.  ( 사용할 도메인 : jsp.xinet.kr )

 기본으로 사용시에는 https-openssl-nio protocol

 

 

tomcat native 가 설치되어 있을경우 아래와 같이 server.xml 를 사용 ( HTTP/2 지원 ) Protocol=”TLS” 절대기입하지 말것

 

 3. keytool를 이용하여 jks 형태로 만들어서 사용할때는 아래와 같이 구성

 -keyalg : 키알고리즘으로 RSA 을 지정합니다
-sigalg : 서명알고리즘으로 SHA256 을 지정합니다.
-alias : 대체 이름으로 영문 단어를 지정하며, 특수문자등은 사용하지 않아야 합니다.
-keystore : 개인키 파일

### CSR 생성

-keyalg : 키알고리즘으로 RSA 을 지정합니다
-sigalg : 서명알고리즘으로 SHA256 을 지정합니다.
-alias : 대체 이름으로 영문 단어를 지정하며, 특수문자등은 사용하지 않아야 합니다.
-keystore : 개인키 파일
-file : CSR 저장할 파일

### 서버 인증서JKS 포맷 조합

ROOT 인증서 -> 체인인증서 -> 개인인증서 순으로 jks으로 포맷 조합을 하면 된다.

tomcat  server .xml 파일을 열어서

현재 tomcat 8.5에 적용된 server.xml 파일 스샷 사진  권장 부분에 맞는 부문만 골라서 사용해야 한다.보기 편하게 다 구성했지만

jks 형태로 구성시 노랑색 부분을 사용
tomcat native 미설치 운용시에는 녹색 부분을  참고 사용
tomcat native 설치시에는 빨간색 부분과  주황색 부분을 참고 사용 ( 인증서 별도 작업 및 letsencrypt ssl 이용)

 

주의할 사항은 tomcat native 를 사용할때는 Protocol=”TLS” 사용하지 말것  / JKS 형태에서는 사용
JKS 형태의 인증서를 사용할때는 protocol=”org.apache.coyote.http11.Http11NioProtocol” 사용
PEM 형태의 인증서를 사용할때 ( native 미설치시 ) protocol=”org.apache.coyote.http11.Http11NioProtocol” 사용
PEM 형태의 인증서를 사용할때 ( native 설치시 ) protocol=”org.apache.coyote.http11.Http11AprProtocol” 사용 및
http/2 지원을 위해 <UpgradeProtocol className=”org.apache.coyote.http2.Http2Protocol”/> 사용

 

태그

익명님 에게 코멘트 남기기 작성취소

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

다음의 HTML 태그와 속성을 사용할 수 있습니다:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



배송정보
배송조회를 하시려면 송장번호를 클릭하세요
배송조회
상품명
주문번호
택배사
송장번호