[pgsql-jp: 37612] Re: JAVAアプリケーションからのSSL接続

岩瀬 肇 iwase-h @ cnt.mxy.nes.nec.co.jp
2006年 10月 23日 (月) 19:16:30 JST


岩瀬です。

結果から言います。
おこめさまにご教示頂いたやり方でうまく動きました!
ありがとうございます。

後ほど接続に至るまでの手順をこちらに提示させて頂こうと
思います。
おこめさま、大変助かりました。ありがとうございました!!


> おこめです。
> 
> 岩瀬 肇 wrote:
> > 岩瀬です。
> > 
> > おこめ様、コメントありがとうございます。
> > 結論から言うと、まだうまくできていません。
> > 
>  > 一つ分かったことは、サーバのdataフォルダ配下に置いてある、
> > server.crtと同じroot.crtファイルを消した場合、
> > 接続できるようになりました。
> > ただ、本当にSSL接続できているのか?まではまだ確認できていません。
> > 以下のマニュアルを確認すると、
> > http://www.postgresql.jp/document/pg803doc/html/ssl-tcp.html
> > root.crtが無い場合、クライアントの認証は行わないと書いてある
> > ので、クライアントの証明書が何らかの理由で認証できていないようだと
> > いうところまではわかりました。
> > 
> > 正直行き詰まっています。根本的にOpenSSLの処理が分かっていないのも
> > 問題だと感じており、OpenSSLについても調査が必要なのかとも考えています。
> > 
> > すいません、何か他にアドバイスがあればお願い致します。
> 
> サーバの証明書だけ見てクライアントはパスワードだけの認証で接続していました。
> クライアント認証については別の設定も必要になるので調べてみました。
> 
> クライアントの認証はクライアントの keystore をサーバの鍵とは別に作成し
> て、その証明書をサーバの root.crt に置きます。
> 
> ■鍵生成
> keytool -genkey -alias client1 -keystore client.keystore
> などなど。
> キーストアと鍵のパスワードは同じにしておきます。
> パスワード以外はとりあえず何でもいいと思います。
> 
> ■証明書作成
> 鍵の証明書をファイルに書き出します。
> 
> keytool -export -rfc -alias client1 -flie root.crt -keystore client.keystore
> 
> 別の鍵で署名してもかまいませんし、クライアントが1つであれば、
> 書き出したファイルをそのままサーバの root.crt に置きます。
> 
> ■実行パラメータ
> java のパラメータでクライアントのkeystoreとパスワードを指定します。
> 
> -Djavax.net.ssl.keyStore=client.keystore
> -Djavax.net.ssl.keyStorePassword=keystorepassword
> 
> サーバの証明書をcacerts以外に入れている場合は
> 
> -Djavax.net.ssl.trustStore=cert.keystore
> -Djavax.net.ssl.trustStorePassword=certpassword
> 
> でサーバ証明書の入っている keystoreファイルとkeystoreのパスワードも指定
> します。
> 
> サーバの証明書だけを指定してクライアントの鍵を指定してなかったので接続で
> きなかったのでしょうね。
> これでクライアント認証もできましたが、どうでしょうか?
> 
> -- 
> 佐藤 雅俊 (おこめ)
> okome @ siisise.net okome @ mozilla.gr.jp
> http://siisise.net/

-- 
岩瀬 肇 <iwase-h @ cnt.mxy.nes.nec.co.jp>




pgsql-jp メーリングリストの案内