- PR -

TOMCAT6のSSL設定

1
投稿者投稿内容
coogon
常連さん
会議室デビュー日: 2004/07/09
投稿数: 27
投稿日時: 2008-03-10 18:55
Windows VistaのTOMCAT6にてSSL通信をしたいと思っております。

WEB検索にてTOMCAT5ですが、SSL通信の設定方法が紹介されて
いたので、以下の手順で設定しました。

1) keytool -genkey -alias tomcat -keyalg RSA を実行
※パスワードはchangeit

2) server.xmlの以下のConnectタグをコメントイン

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />

3) TOMCAT再起動後にhttps://localhost:8443/にアクセス

しかし、何も表示されませんでした。
(http://localhost:8080/では正しく猫のページが表示されます)

TOMCAT6では、何か他にも特別な設定等があるのでしょうか?
そもそも当方、SSL等の情報セキュリティ知識は詳しくないので、
何か根本的な勘違いをしている可能性も否定できません。

何かアドバイス等ございましたら宜しくお願いします。
加納正和
ぬし
会議室デビュー日: 2004/01/28
投稿数: 332
お住まい・勤務地: 首都圏
投稿日時: 2008-03-10 23:04
加納というものです。

>1) keytool -genkey -alias tomcat -keyalg RSA を実行

この際に、keystoreファイルがどこに出来るか理解してますか?
私がやったときは、"C:/Documents and Settings/ユーザ名/.keystore"に
出来ました。

でもって

----
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystorePass="changeit" keystoreFile="C:/Documents and Settings/ユーザ名/.keystore" />
----

で出来ました。なぜかkeystoreFileを指定しないと出来ないようです。(指定しないとログにエラーが出ました)
keystorePassは不要かもしれません。私が設定したときは使用しましたが。

coogon
常連さん
会議室デビュー日: 2004/07/09
投稿数: 27
投稿日時: 2008-03-11 13:47
加納様
ご返答ありがとうございました。

ご指摘の通り、keystoreのパスも指定してみましたが、結果は同じでした。

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystorePass="changeit"
keystoreFile="C:/Users/ユーザー名.ユーザー名-DESKTOP/.keystore" />

また、以下の様にFactoryタグを設けてパスを指定してみましたが、
こちらも結果は同じです。

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS">
<Factory className="org.apache.catalina.net.SSLServerSocketFactory"
keystorePass="changeit"
keystoreFile="C:/Users/ユーザー名.ユーザー名-DESKTOP/.keystore" />
</Connector>

何か他に思い当たる節がある方がおりましたら、
アドバイスをお願い致します。
加納正和
ぬし
会議室デビュー日: 2004/01/28
投稿数: 332
お住まい・勤務地: 首都圏
投稿日時: 2008-03-12 00:25
引用:

coogonさんの書き込み (2008-03-11 13:47) より:

ご指摘の通り、keystoreのパスも指定してみましたが、結果は同じでした。

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystorePass="changeit"
keystoreFile="C:/Users/ユーザー名.ユーザー名-DESKTOP/.keystore" />

何か他に思い当たる節がある方がおりましたら、
アドバイスをお願い致します。



むーそうですか。私は上記のしか変更してません(tomcat6をインストールしてから大した時間かからずにSSLでアクセスできました)

一応聞いておきますが.keystoreというのが何者かは知ってますか。

keytoolで生成する、秘密鍵と証明書(この場合は自己署名証明書)が入ってるファイル
です。DESKTOPには生成されないのですが、、と思って一応確認してみました。
DESKTOPがホームであれば生成されますが。

あと、ちなみにログは見てみましたでしょうか。
C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\logs\\catalina.2008-03-10.log とかに

2008/03/10 22:54:07 org.apache.coyote.http11.Http11Protocol init
致命的: エンドポイントを初期化中のエラーです
java.io.FileNotFoundException: C:\\.keystore (指定されたファイルが見つかりません。)

とか出たりするのですが。上記はkeystoreFileの定義をしないときに出てきたエラーです。
coogon
常連さん
会議室デビュー日: 2004/07/09
投稿数: 27
投稿日時: 2008-03-12 13:38
加納さま
ご返答ありがとうございます。

.keystoreに関しては、詳しくはわかりませんがSSL通信の為の
暗号情報に関するファイルであろう事はなんとなく理解しております。
また、当方Windows Vistaの為、ユーザーホームが
C:/Users/ユーザー名.ユーザー名-DESKTOPになっており、
当然、.keystoreの存在およびパスの有効性も確認済です。

ご指摘の通り、tomcatのログも確認してみましたが、特に
エラーは出ておりませんが、むしろ、8443ポートやSSL関連
に関する情報が何一つ出ておりません。
早い話が8443ポートに関するConnectorタグをコメントイン
してもコメントアウトしてもログ上は何も変わっていない
と言う事です。

想像ですが、8443ポートに関するConnectorタグが完全に無視
されている様な気がしていますので、現在はそこら辺を集中して
調査していますが、今の所は明確な原因はわかっておりません。

もし、そこら辺でも何かお気づきの方がおりましたら、
アドバイスをよろしくお願い致します。
加納正和
ぬし
会議室デビュー日: 2004/01/28
投稿数: 332
お住まい・勤務地: 首都圏
投稿日時: 2008-03-12 22:18
加納正和というものです。

引用:

coogonさんの書き込み (2008-03-12 13:38) より:
加納さま
ご返答ありがとうございます。

早い話が8443ポートに関するConnectorタグをコメントイン
してもコメントアウトしてもログ上は何も変わっていない
と言う事です。




ちなみにVista(Home Basic)でもやってみましたが出来ましたよ。

ただし。

c:\\\\Program Files\\\\下にインストールしてしまうとUACに負けるようで
私も出来ませんでした。上記と同様、8443の情報すら出てきませんでした。

.zipファイルをダウンロードしてきて、展開して、自分の(それこそユーザ名の)
下(c:\\users\\ユーザ名)にコピーしてstartup.batたたいて起動したら出来ました。

ちなみに、.keystoreファイルがホームにあれば、keystoreFiles設定は不要でした。

#Windows XPでやっていたので、混乱させてすいません。

coogon
常連さん
会議室デビュー日: 2004/07/09
投稿数: 27
投稿日時: 2008-03-13 13:24
加納さま
ご返答ありがとうございます。

私の方でも、別のvistaマシーンのUser配下にTOMCATをインストールし
コマンドプロンプトからの実行で8443ポートが利用できる事を確認
できました。

現在、開発はvistaで実施していますが、本番はLinuxになる事と、
SSL関連以外の開発も並行して動いており、現開発環境を入れ直す
のは少しリスク高なので、とりあえず当面は非SSLで開発を続けよ
うと思っております。
しかし、原因がvistaのユーザー管理にある事が判明しただけでも
かなり違いますので、加納様には心より感謝を申し上げ致します。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)