Apache Http Server 나 Nginx 에서 사용하던 인증서를 Tomcat 에서 사용하려고 보니 바로 적용이 안되군요...
(pkcs12 형식으로 변환이 필요)
./chainca.crt
./mydomain.com.crt
./mydomain.com.key
위와 같이 체인인증서와 ROOT 인증서가 합쳐저 있는 chainca.crt
와 도메인의 인증서가 있는 mydomain.com.crt
를 하나의 파일로 합쳐 줍니다.
$ cat mydomain.com.crt chainca.crt > mydomain.com.chainca.crt
openssl
을 이용하여 pkcs12 형식으로 변환합니다.
$ openssl pkcs12 -export -in mydomain.com.chainca.crt -inkey mydomain.com.key -out mydomain.com.p12 -name tomcat
Enter Export Password: (key 파일 암호입력)
Verifying – Enter Export Password: (key 파일 암호입력)
정상적으로 변환을 확인하려면 아래 명령어를 이용합니다.
$ keytool -list -v -keystore mydomain.com.p12 -storetype pkcs12
$CATALINA_HOME/conf/server.xml
아래와 같이 커넥터를 추가합니다.
<Connector port="{SSL포트}" maxHttpHeaderSize="8192"
maxThreads="150" enableLookups="false" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
protocol="org.apache.coyote.http11.Http11NioProtocol"
SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
keystoreFile="{인증서 경로}"
keystoreType="PKCS12" keystorePass="{인증서 패스워드}"/>
해당 포트로 정상적으로 접근하면 설정 완료입니다.
참고자료