tomcat6で、SSL通信をさせたかったので、調べてやってみました。
オレオレ証明書で設定します。
javaのkeytoolにパスが通っていることを前提としています。
まずは、証明書を作成します。
keytool -genkey -alias tomcat -keyalg RSA キーストアのパスワードを入力してください: ←キーストアのパスワードを任意で入力 新規パスワードを再入力してください: 姓名を入力してください。 [Unknown]: exsample.jp 組織単位名を入力してください。 [Unknown]: SOSHIKI 組織名を入力してください。 [Unknown]: SOSHIKI 都市名または地域名を入力してください。 [Unknown]: Chiyoda-Ku 州名または地方名を入力してください。 [Unknown]: Tokyo この単位に該当する 2 文字の国番号を入力してください。 [Unknown]: jp CN=exsample.jp, OU=SOSHIKI, O=SOSHIKI, L=Chiyoda-Ku, ST=tokyo, C=jp でよろしいですか? [no]: yes <tomcat> の鍵パスワードを入力してください。 (キーストアのパスワードと同じ場合は RETURN を押してください): ←そのままEnter
実行したユーザの配下に、.keystore というファイルが作成されます。
こちらが証明書になります。
次に、証明書の有効期限を延長します。
keytool -selfcert -alias tomcat -validity 365
tomcatの設定を変更します。
#vi /opt/tomcat6/conf/server.xml <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystorePass="キーストアのパスワード" ←追加 上記keytoolでの鍵作成時に入れたキーストアのパスワード keystoreFile="/root/.keystore" ←追加 キーのファイルを指定 />
tomcatを再起動します。
# /etc/init.d/tomcat restart
ブラウザからアクセスし確認します。
オレオレ証明書なので、警告が表示されます。