Java Tips:TomcatでSSLを使うには?:JAVA Developer
Webの通信経路を暗号化するときにはSSLを使いますが,TomcatでSSLを使うときの鍵の作り方と設定をまとめます。
TomcatでSSLを使うときの鍵生成
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
利用しているJ2SEやTomcatのバージョンによって準備が異なります。
J2SEについては,バージョン1.4以降ならJSSEが含まれていますので特段の準備はいりませんが,それ以前なら別途JSSEが必要です。個別にダウンロードする際は次のURLから入手できます。
Tomcatはバージョン5系列の例で紹介しますが,4.1や4.0でもほぼ同じです。
ステップ(1)
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
TomcatのSSLコネクタを有効にする必要があります。
TomcatのインストールディレクトリをCATALINA_HOMEとすると,CATALINA_HOME/conf/server.xmlに設定します。このXMLファイルを開いてポート番号として8443が指定されたConnector要素を探します。デフォルトではコメントになっています。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Connector要素の前後にあるコメント記号を削除して,コネクタを有効にします。次に,8443になっているポート番号も,SSLで一般的な443にしておきましょう。参考まで,Tomcat 4.1系列の場合は次のようになっていると思います。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
この場合も,コメント記号を削除してポート番号を443にします。
同じ設定ファイル中に,redirectPort属性としていくつか8443を設定している箇所があります。これもすべて443に変更します。
ステップ(2)
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
鍵を作ります。これにはJ2SEに含まれているkeytoolツールを使います。次のように入力して起動します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
起動したらコマンドラインで対話形式になっていますので,質問に1つずつ答えていきます。鍵の発行者に関する情報を入力していきます。次の例では太字の部分が入力箇所です。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
この中で,「changeit」というのはデフォルトの鍵とキーストアのパスワードです。デフォルトで「changeit」になっています。パスワードを変えた場合は,先ほどの設定ファイルのConnector要素の子要素(Factory)を追加してパスワードを指定しなければなりません。
パスワード以外の入力は,あまり神経質にならなくてもかまいません。
これでユーザーのディレクトリにキーができています。キーストアのデフォルトは,Windowsなら"%USERPROFILE%"\.keystoreです。UNIXなら~/.keystoreとなります。この中に鍵が追加されているはずです。あとは,Tomcatを起動したら大丈夫でしょう。
なお,キーストアを保存したディレクトリを移動したい場合なども設定を変える必要があります。次のサンプルは,キーストアのパスワードとディレクトリを指定した例で、Connector要素の子としてFactory要素を記述します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
JAVA Developerより毎週Java Tipsをお届けしましょう。バックナンバーもよろしく。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Copyright(C) 2010 SOFTBANK Creative Inc. All Right Reserved.