私は、ブラウザクライアントを持ち、サードパーティとのサーバー間通信に参加している分散アプリケーションのサーバーで作業しています。 私のサーバーには、クライアントがHTTP/SとXMPP(セキュア)を使用したTLS(SSL)通信を使用して接続できるようにするCA署名付き証明書があります。それはすべて正常に動作しています。JAX-WSクライアントのSSLContextをプログラムで設定する方法は?
ここで、HTTPS/SSL経由でJAX-WSを使用して、サードパーティのサーバーに安全に接続する必要があります。この通信では、私のサーバはJAX-WSインターラクションのクライアントとして動作し、第三者が署名したクライアント証明書を持っています。
標準のシステム構成(-Djavax.net.ssl.keyStore=xyz
)で新しいキーストアを追加しようとしましたが、私の他のコンポーネントはこれによって明らかに影響を受けます。私の他のコンポーネントはSSL設定(my.xmpp.keystore=xxx, my.xmpp.truststore=xxy, ...
)に専用パラメータを使用していますが、最終的にはグローバルSSLContext
を使用しているようです。 (構成ネームスペースmy.xmpp.
は分離を示すように見えましたが、そうではありません)
クライアント証明書を元のキーストアに追加しようとしましたが、私の他のコンポーネントはそれも気に入らないようです。
私の唯一の選択肢は、JAX-WS HTTPS構成をプログラムでフックして、クライアントJAX-WSの相互作用のためにキーストアとトラストストアをセットアップすることだと思います。
どのようにこれを行うにはどのアイデア/ポインターですか?私が見つけたすべての情報はjavax.net.ssl.keyStore
メソッドを使用しているか、グローバルSSLContext
に-Iが同じconfilcで終わってしまうと設定しています。私が何か助けになったのは、私が必要とする機能を要求するこの古いバグレポートでした:Add support for passing an SSLContext to the JAX-WS client runtime
何でもかまいません。
バグレポートによると、修正は2.1.1で利用できるようになります。 – EJP
@EJPバグレポートは機能リクエストであり、どのようにしてやるべきかは言及していません。 – maasg