TomcatをSSL経由でつかう

証明書のキーストアを用意する

現在、TomcatではJKSフォーマット(※1)のキーストアしか扱えない。

※1.Java標準の"Java KeyStore"フォーマットであり、keytoolコマンドラインユーティリティで生成されるフォーマット。

鍵の作成方法
$JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA

Tomcatの設定ファイルを編集する

server.xmlを編集し、SSLコネクタのコメントアウトを外す。
後、keystoreFile属性(※2)とkeystorePass属性(※3)の記述を追加した。

※2.keystoreFile属性はTomcatの実行ユーザのホームディレクトリ上に.keystoreファイルがあれば記述の必要はない。
※3.keystorePass属性はデフォルトのパスワード(changeit)であれば記述の必要はない。

    <!-- Define a SSL HTTP/1.1 Connector on port 8443 -->
    <Connector port="8443" maxHttpHeaderSize="8192"
               keystoreFile="/home/griffin/.keystore"
               keystorePass="tomcat"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" />

server.xmlの編集後はTomcatを再起動する。

SSL経由でアクセスする

以下のURLのようにアクセスするとSSL経由でTomcatのトップページが出てくるはず。

https://192.168.0.2:8443/

【参考文献】
The Apache Tomcat 5.5 Servlet/JSP Container - SSL Configuration HOW-TO