私は、ブラウザクライアントを持ち、サードパーティとのサーバー間通信にも参加する分散アプリケーションのサーバーで作業しています。私のサーバーには、クライアントが HTTP/S および XMPP(セキュア) を使用した TLS (SSL) 通信を使用して接続できるようにするための CA 署名付き証明書があります。それはすべてうまくいっています。
ここで、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
を設定しており、-おそらく-同じコンフィルクになります。私が何か役に立つものに最も近かったのは、必要な機能を要求するこの古いバグレポートでした: SSLContext を JAX-WS クライアントランタイムに渡すためのサポートを追加します。
テイクはありますか?