3

再起動せずにJBoss 4.2で証明書トラストストアを「再ロード」する方法はありますか?JBossは再起動せずに証明書トラストストアを再読み込みします

SSLを使用してリモートサーバー上でWebサービスを呼び出そうとしていますが、SSLHandshakeExceptionで同様の問題が発生しています。私たちがしようとしているのは、次の3つのマシンです.Aは、サーバーBとCにWebサービスクライアントとして動作するJBossサーバーです。

1)ユーザーはBのホスト名を入力します。 Bの自己署名証明書を取得し、それを(外部シェルスクリプトを介して)トラストストアにインストールします。

2)証明書ストアがこの最初の試行でロードされたように見える、BへのSSLソケット接続が行われます。接続は成功し、すべてが機能します。

3)もう一度Aと入力すると、2と同じことが実行されます。シェルスクリプトはCの証明書を取得し、trusstoreにインストールします。しかし、Cへの接続時には、(信頼できるjavax.net.debug = sslを有効にして)truststoreが "リロード"されず、Cの証明書が見つからず、SSLHandshakeExceptionが発生します。

JBossを再起動すると、「更新された」トラストストアがロードされ、BとCの両方への接続が機能します。

JBossを再起動せずにこれを行いたい場合、上記のスキームを収集することは正しくありません。誰かが、トラストストアを動的に更新するための正しい方法について私にドキュメントを教えてもらえると、非常に感謝しています。

Problem calling web service from within JBOSS EJB Service

答えて

0

は、セキュリティの観点から良いアイデアではありません。

ウェブサービスクライアントにカスタムX509TrustManagerの実装を使用させるか、代わりにカスタムSSLSocketFactoryを使用するのがよりクリーンなソリューションです。いずれの場合も、どの証明書を信頼するかを自分で決めることができます。これにより、そのEJBとそれぞれのWSコールでのみ有効な独自のトラストストアを管理できます。

も参照してください:そのソリューションうん http://www.howardism.org/Technical/Java/SelfSignedCerts.html

関連する問題