재유's

[Linux] Tomcal SSL 설정 (CRT) 본문

IT Story/Other

[Linux] Tomcal SSL 설정 (CRT)

Stella_NY 2023. 6. 26. 16:02

※ 해당 글은 CRT 파일을 기준으로 작성되었습니다.

해당 글은 Java, Tomcat 설치가 완료된 후 참고

 

1. 인증서 구성

아래 인증서 파일들 + key 파일

인증서 파일

  • Root CA Certificate - AAACertificateServices.crt
  • Intermediate CA Certificate - USERTrustRSAAAACA.crt
  • Intermediate CA Certificate - SectigoRSADomainValidationSecureServerCA.crt
  • Your PositiveSSL Certificate - test_com.crt

2. 인증서 합치기

합치는 순서 : 개인키 → 메인인증서 → 체인인증서 → 루트인증서

test_com.pem 파일로 합치기

## 인증서 합치기 (인증서 폴더에서 작업)
## 파일명으로 체크
cat test_com.key test_com.crt SectigoRSADomainValidationSecureServerCA.crt AAACertificateServices.crt > test_com.pem

 

3. 인증서 포멧 변환

3-1. openssl을 이용하여 pem → pkcs12 포멧으로 변환

test_com.p12 파일로 저장

## 위에서 합쳤던 pem 파일을 pkcs12 포맷으로 변환
## java 설치시 openssl도 같이 설치됨.
openssl pkcs12 -export -out test_com.p12 -in test_com.pem

비밀번호 : test (원하는 걸로 설정)

 

3-2. keytool을 이용하여 pkcs12 jks 포멧으로 변환

test_com.jks 파일로 저장

## pkcs12 파일을 jks 파일로 변환
## keytool 역시 java 설치시 같이 설치 됨.
keytool -importkeystore -srckeystore test_com.p12 -srcstoretype pkcs12 -destkeystore test_com.jks -deststoretype jks

비밀번호 : test

 

4. 변환된 파일 체크

## 변환한 geo_ksamheung_com.jks 파일 체크 
## 비밀번호 요구시 설정한 비밀번호를 입력
keytool -list -keystore test_com.jks

 

5. tomcat 설정 값 수정

/usr/local/tomcat8/conf 폴더 아래 파일들 수정

 

server.xml수정

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
	    redirectPort="8443"
	    URIEncoding="UTF-8"/>

<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
    port="8443" scheme="https" secure="true" SSLEnabled="true"
    keystoreFile="/usr/local/tomcat8/ssl/test_com/test_com.jks"
    keystorePass="test"
    sslProtocol="TLS" />

web.xml 수정

( 맨 아래줄에 토글 코드 추가 )

더보기
<security-constraint>
	<web-resource-collection>
		<web-resource-name>SSL Forward</web-resource-name>
		<url-pattern>/*</url-pattern>
	</web-resource-collection>
	<user-data-constraint>
		<transport-guarantee>CONFIDENTIAL</transport-guarantee>
	</user-data-constraint>
</security-constraint>

<filter>
  <filter-name>CorsFilter</filter-name>
  <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>

  <init-param>
    <param-name>cors.allowed.origins</param-name>
    <param-value>*</param-value>
  </init-param>

  <init-param>
    <param-name>cors.allowed.methods</param-name>
    <param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
  </init-param>

  <init-param>
    <param-name>cors.allowed.headers</param-name>
    <param-value>Content-Type,X-Requested-With,accept,Origin,Access-Control-Request-Method,Access-Control-Request-Headers</param-value>
  </init-param>

  <init-param>
    <param-name>cors.exposed.headers</param-name>
    <param-value>Access-Control-Allow-Origin,Access-Control-Allow-Credentials</param-value>
  </init-param>

  <init-param>
    <param-name>cors.support.credentials</param-name>
    <param-value>true</param-value>
  </init-param>

  <init-param>
    <param-name>cors.preflight.maxage</param-name>
    <param-value>10</param-value>
  </init-param>
</filter>

<filter-mapping>
  <filter-name>CorsFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

 

6. Tomcat 실행 / 재실행

## 톰캣이 실행 중이라면 종료
sh /usr/local/tomcat8/bin/shutdown.sh

## 톰캣 시작
sh /usr/local/tomcat8/bin/startup.sh

 

브라우저에서 server 접속 시 아래 자물쇠 모양이 뜬다면 ssl 적용 완료

'IT Story > Other' 카테고리의 다른 글

[Linux] Tomcat 설치  (0) 2023.06.26
[Filezilla] CentOS - vsftpd 로그인 장애  (0) 2019.04.25
[필기] 20190422 - GROUP  (0) 2019.04.22
[Tomcat] Tomcat Spec  (0) 2019.04.17
[Eclipse] 아이피 IPv6에서 IPv4로 출력하는 서버셋팅  (0) 2019.03.27
Comments