Tomcat5.5 with オレオレ証明書
1. keytool コマンドを使い、鍵を生成
keytoolコマンドは javac とかと同じディレクトリ (${JAVA_HOME}/bin/) に転がっているはず。
> keytool -genkey -alias tomcat -storepass changeit 姓名を入力してください。 [Unknown]: www.oreore.com 組織単位名を入力してください。 [Unknown]: OreOre CA Services 1 組織名を入力してください。 [Unknown]: OreOre Japan K.K. 都市名または地域名を入力してください。 [Unknown]: Shinagawa 州名または地方名を入力してください。 [Unknown]: Tokyo この単位に該当する 2 文字の国番号を入力してください。 [Unknown]: JP CN=www.oreore.com, OU=OreOre CA Services 1, O=OreOre Japan K.K., L=Shinagawa, ST =Tokyo, C=JP でよろしいですか? [no]: yes <tomcat> の鍵パスワードを入力してください。 (キーストアのパスワードと同じ場合は RETURN を押してください): changeit
これで、ホームディレクトリ直下に ".keystore" というファイルができる。
2. tomcatのSSLコネクター設定を有効にする。
tomcatのserver.xmlを開き、SSLコネクターのコメントアウトをはずし有効化する。
なお、Windows版の場合、フツーに配布されてるインストーラ使って導入すると、サービスとして起動してしまうからか、キーストアファイルのPATHとして OSインストールドライブの "/Documents and Settings/NetworkService/.keystore" を参照しにいく。それ以外のPATHを参照させたい場合、下記のようにして明示的に指定してやる必要がある。
<!-- Define a SSL HTTP/1.1 Connector on port 8443 --> <Connector port="8443" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="c:/Documents and Settings/NetworkService/.keystore" keyAlias="tomcat" keystorePass="changeit" />
あとはtomcatを再起動すればOK。
ref The Apache Tomcat 5.5 Servlet/JSP Container - SSL Configuration HOW-TO