티스토리 뷰

Tomcat은 JKS, PKCS11 혹은 PKCS12 포맷의 Keystore를 지원한다. JKS 포맷은 Java Standard Keystore 포맷이며, JDK에 포함되어 있는 Keytool 명령어를 사용하여 생성할 수 있다. PKCS12 포맷은 인터넷 표준 포맷이고, OpenSSL를 사용하여 생성할 수 있다. 이글 에서는 PICKS12 포맷의 Keystore를 사용한 설정 방법을 정리한다. 

1. PKCS12 포맷의 키저장소(keystore) 파일 생성

1.1 openssl 을 이용하여 키파일 과 인증서 파일을 생성한다. 
  - 참조 : 
http://dimdim.tistory.com/entry/openssl-%EC%9D%B8%EC%A6%9D%EC%84%9C-%EC%83%9D%EC%84%B1

1.2 아래와 같이 openssl  명령어로 생성한 키파일 과 인증서 파일을 이용하여 PKCS12 포맷의 키저장소 파일을 생성한다.
  - "-in" 옵션은 인증서 파일
  - "-inkey" 옵션은 인증서 생성에 사용된 키파일
  - "-out" 옵션은 키저장소 파일
  - "-name" 옵션 값은 원하는 이름으로 하면 됨

$ openssl pkcs12 -export -in crt.pem -inkey key.pem -out .keystore -name tomcat

Enter Export Password:                   #패스워드 입력 (Tomcat설정에 사용됨으로 기억해야 함.)
Verifying - Enter Export Password:   #패스워드확인


2. Tomcat 설정
  - HTTPS 프로토콜을 제공하기 위한 Connector설정을 server.xml 파일에 추가한다. 

<Service name="Catalina">

      . . .

<Connector 
          port="8443" maxThreads="100"
          scheme="https" secure="true" SSLEnabled="true"
          keystoreFile="keystore 파일 경로" keystorePass="keystore 패스워드" keystoreType="pkcs12"
          clientAuth="false" sslProtocol="TLS"/>
       . . .     

</Service>


3. Tomcat 재기동


4. 참고 자료
 - JKS 표맷의 키저장소를 사용한 HTTPS 설정 참고자료
 - Tomcat HTTPS 설정 참고자료 : http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html


댓글