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" というファイルができる。


ref keytool - 鍵と証明書の管理ツール

2. tomcatSSLネクター設定を有効にする。

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

残件

WindowsTomcatをインストールする際、native という項目にチェックしてインストールすると、上記手順ではうまくいかない。なにか設定漏れがある?