TomcatでSSL

Apacheを介さずにTomcatで直接SSLを通信する方法

Apache+OpenSSL用に取得した証明書ファイルを、
PKCS#12に変換すれば、TomcatでもSSL通信が可能です。

  1. PKCS#12への変換

opensslコマンドで可能です。

$ openssl pkcs12 -export -inkey (ユーザ証明書の秘密鍵ファイル名) -in (ストリップ後のユーザ証明書ファイル名) -out (PKCS#12ファイル名) -certfile (CA証明書のファイル名)

コマンド例:

$ openssl pkcs12 -export -in cert2010.pem -inkey key2010.pem  -out keystore2010.p12 -name tomcat -CAfile sslcert2010.cer -caname root
Enter Export Password:xxxxxx
Verifying - Enter Export Password: xxxxxx
  1. server.xmlの編集

SSL通信を有効にします

<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
<Connector port="443" maxHttpHeaderSize="8192"
   maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
   enableLookups="false" disableUploadTimeout="true"
   acceptCount="100" scheme="https" secure="true"
   clientAuth="false" sslProtocol="TLS"
   keystoreFile="/usr/local/ssl/keystore2010.p12"
   keystorePass="xxxxxx" keystoreType=”PKCS12” />