tomcat6で、SSL通信をさせたかったので、調べてやってみました。
オレオレ証明書で設定します。
javaのkeytoolにパスが通っていることを前提としています。
まずは、証明書を作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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 というファイルが作成されます。
こちらが証明書になります。
次に、証明書の有効期限を延長します。
1 |
keytool -selfcert -alias tomcat -validity 365 |
tomcatの設定を変更します。
1 2 3 4 5 6 7 8 |
#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を再起動します。
1 |
# /etc/init.d/tomcat restart |
ブラウザからアクセスし確認します。
オレオレ証明書なので、警告が表示されます。
https://exsample.jp:8443/