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" />
SSL経由でアクセスする
以下のURLのようにアクセスするとSSL経由でTomcatのトップページが出てくるはず。
https://192.168.0.2:8443/
【参考文献】
The Apache Tomcat 5.5 Servlet/JSP Container - SSL Configuration HOW-TO