[pgsql-jp: 37606] Re: JAVAアプリケーションからのSSL接続
Masatoshi Sato
okome @ siisise.net
2006年 10月 23日 (月) 01:08:12 JST
おこめ@しいしせねっとです。
岩瀬 肇 wrote:
> > 岩瀬です。
> >
> > 手順は以下の通りです。
> >
> > 1.サーバ証明書をJAVAが理解できる形に変換
> >
>> >> openssl x509 -in server.crt -out server.crt.der -outform der
> >
> > 2.Javaのシステムトラストストアに証明書をインポート
> >
>> >> keytool -keystore $JAVA_HOME/lib/security/cacerts -alias
postgresql -import -file server.crt.der
Java Runtime でしょうか?
Java SDK であれば $JAVA_HOME/jre/lib/security/cacerts の場合もあります。
元のファイルの所在を確認されていればいいのですが。
keytool -import -alias svpgsql -file server.crt -keystore
/usr/java/jdk1.5.0_09/jre/lib/security/cacerts
> > 3.PostgreSQL接続時のURLに以下の2つを追加
> > ○ssl=true
> > ○sslfactory=org.postgresql.ssl.NonValidatingFactory
> >
> > 最終的なURLは以下のようになりました。
> > jdbc:postgresql://(サーバ名):(ポート番号)/(データベース名
> >
)?prepareThreshold=0&ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
?ssl=true だけでよいのではないでしょうか?
> > 4.JAVAアプリケーション起動時引数に以下を追加
> > ○-Djavax.net.ssl.trustStore=$JAVA_HOME\lib\security\cacerts
> > ○-Djavax.net.ssl.trustStorePassword=changeit
> > ○-Djavax.net.debug=ssl(デバッグ用)
こちらも標準のcacertsを使うのなら必要ないと思います。
> >
> > 上記手順にて実行すると、
> > org.postgresql.util.PSQLException: The connection attempt failed.
> > と
> > Caused by: java.net.SocketException: Software caused connection
abort: recv failed
> > という2つのエラーが出てしまいます。
> >
> >
> > JAVA寄りの話が多くて申し訳ありませんが、何かわかることがあればアドバイス
> > 頂けますようお願い致します。
--
佐藤 雅俊 (おこめ)
okome @ siisise.net okome @ mozilla.gr.jp
http://siisise.net/
pgsql-jp メーリングリストの案内