본문 바로가기
JAVA/Muzi

[Tomcat] OpenSSL 사설 인증서 발급 및 tomcat 인증서 적용

by 미눅스[멘토] 2025. 7. 3.
728x90

 

유효기간 10년치 사설 인증서 발급

openssl설치 후 

인증서를 만들 폴더로 이동해 검색창에 cmd를 검색한다.

나는 D드라이브 밑에 cert로만들었다,

나의 경로 = D:\cert

 

이제 본격적으로 만들어보자

 

1) CA(Certificate Authority) 개인키 생성

openssl genrsa -out rootCA.key 2048


공개키 방식인 RSA 알고리즘을 통하여 2048bit 길이의 CA 개인키를 생성


2) CA CSR(Certificate Signing Request) 생성
CSR이란 말 그대로 인증 서명 요청으로써 인증서를 발급하는데 필요한 인증 신청서

openssl req -new -key rootCA.key -out rootCA.csr


위에서 생성하였던 CA 개인키를 통하여 CSR을 생성한다

 


3) CA CRT 생성하기

openssl x509 -req -in rootCA.csr -signkey rootCA.key -out rootCA.crt -days 3650


우선 CA 인증서까지 생성을 완료

 

 


이제 본격적으로 서버에서 사용할 인증서를 생성
4) 서버 개인키 생성
위와 동일한 명령어로 서버 개인키를 생성

openssl genrsa -out server.key 2048



5) 서버 CSR 생성
마찬가지로 CSR도 생성

openssl req -new -key server.key -out server.csr



6) 서버 CRT 생성
여기서 중요
CA와 관련된 인증서를 만들었으니 CA로 부터 인증 받은 서버의 인증서를 생성해줘야 한다.

openssl x509 -req -in server.csr -CA rootCA.crt -CAkey rootca.key -CAcreateserial -out server.crt -days 3650



이제 서버에 적용할 수 있는 사설 SSL 인증서가 생성 완료

7)tomcat에서 사용할 수 있는  OpenSSL로 “레거시 MAC” 방식 지정해서 .p12 생성 

-macalg SHA1 또는 -legacy 옵션을 사용해, Java가 지원하는 SHA-1 기반 MAC으로 내보낸다

openssl pkcs12 -export ^
  -inkey D:\cert\server.key ^
  -in   D:\cert\server.crt ^
  -certfile D:\cert\rootCA.crt ^
  -name tomcat ^
  -out  D:\cert\keystore.p12 ^
  -passout pass:changeit ^
  -keypbe PBE-SHA1-3DES ^
  -certpbe PBE-SHA1-3DES ^
  -macalg SHA1


  
8)server.xml 설정

<Connector
    protocol="org.apache.coyote.http11.Http11NioProtocol"
    port="8443"
    maxThreads="200"
    scheme="https" secure="true" SSLEnabled="true"

    keystoreFile="D:/cert/keystore.p12"
    keystoreType="PKCS12"
    keystorePass="changeit"
    keyAlias="tomcat"

    sslProtocol="TLS" />