Total: Today: Yesterday:
노하우/WAS | 2019. 5. 23. 16:36 | Posted by 자수씨

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="{인증서 패스워드}"/>

해당 포트로 정상적으로 접근하면 설정 완료입니다.

참고자료