본문으로 바로가기

[리눅스] tomcat https 인증서 등록

category 운영체제/리눅스 2021. 3. 30. 20:30
728x90
반응형

tomcat에 인증서를 등록하여 https로 서버를 동작하게 설정하는 방법을 포스팅하겠습니다.

tomcat 버젼은 8.5.46 입니다.

인증서에는 종류가 많지만 저는 pem, jks 파일을 기준으로 하겠습니다.

인증서가 pem파일인 경우, jks로 변환해야 합니다.

pem파일인 경우, 1번부터 따라하시면 되고, jks파일일 경우, 4번부터 따라하시면 됩니다.

 

pem 파일명은 test.pem입니다. 비밀번호는 test1234를 사용하였습니다.

1. openssl 명령어를 사용하여 pem을 pkcs12 포맷으로 변환

 

]# openssl pkcs12 -export -out test.p12 -in test.pem

 

Enter Export Password:
Verifying - Enter Export Password:

->test.p12 생성 완료

]# cat test.p12
0  0   *
      *
  0 0   *
  0 
*
 
     0]  ;7  +a  8IC(6Cz2YȠ 3   %[2[R]Iă_g4d>S#I yGP uyNj^臘3V m$\3
0&   X^;C9                                                         K[pwad׳e02ek
c 3%KU/; 8n!4Xa)V6& & S5_ܦG(*NC+^ _n=Q%- t)  

-> p12 파일을 출력하니 깨져서 나옵니다.

 

2. keytool을 이용하여 pkcs12를 jks 포맷으로 변환

]# keytool -importkeystore -srckeystore test.p12 -srcstoretype pkcs12 -destkeystore test.jks -deststoretype jks

 

키 저장소 test.p12을(를) test.jks(으)로 임포트하는 중...
대상 키 저장소 비밀번호 입력:  
새 비밀번호 다시 입력: 
소스 키 저장소 비밀번호 입력:  
te1 별칭에 대한 항목이 성공적으로 임포트되었습니다.
임포트 명령 완료: 성공적으로 임포트된 항목은 1개, 실패하거나 취소된 항목은 0개입니다.

 

Warning:
JKS 키 저장소는 고유 형식을 사용합니다. "keytool -importkeystore -srckeystore test.jks -destkeystore test.jks -deststoretype pkcs12"를 사용하는 산업 표준 형식인 PKCS12로 이전하는 것이 좋습니다.

->test.jks 파일 생성 완료

 

#cat test.jks

    1 x
{# $ iM ` +   Y+'_+9+L;dű+JY-F-Ć+} H ~NIڳ -=}&7 ƃ5NO [c9CS C!"3D
  P4 K U*H
  W5<HfZO"L}&-# /. S[:^#<yY  :4eQz?Ӎ F,y|<:;WG`1_# Dc%팔1G3B !-ۇ L' A. X   T>QRU=7% :@!V~ 8Xa ]+ L7{M@LIz

-> jks파일 또한 깨져서 나옵니다.

3. jks파일 확인

 

]# keytool -list -keystore test.jks

 

키 저장소 비밀번호 입력:  
키 저장소 유형: jks
키 저장소 제공자: SUN

키 저장소에 1개의 항목이 포함되어 있습니다.

1, 2021. 3. 30, PrivateKeyEntry, 
인증서 지문(SHA1): F9:36:C3:05:D6:ED:D0:0C:E5:58:9F:26:06:E5:CB:3A:F3:36:7E:98

Warning:
JKS 키 저장소는 고유 형식을 사용합니다. "keytool -importkeystore -srckeystore test.jks -destkeystore test.jks -deststoretype pkcs12"를 사용하는 산업 표준 형식인 PKCS12로 이전하는 것이 좋습니다.

 

-> 정상 확인 완료

4. tomcat 설정 변경

]# vim server.xml

...

    <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"

               scheme="https" clientAuth="false" sslProtocol="TLS"
               keystoreFile="/test/test.jks" keystorePass="test1234"
               />
...

5. tomcat 재기동 후, 웹브라우저에 https로 접속

 

https://IP

 

 

->위 그림과 같이 인증서가 보이는 것을 확인할 수 있습니다.

728x90
반응형