2012-02-21 12 views
10

WCFホストされたWebサービスを偽装(開発テスト用)するGlassfishホストWebサービスを構築しようとしています。私はWCFホストサービスからWSDLを取得しており、WCFホストWSDLからJavaサービスとJavaクライアントを問題なく構築できます。 WSDLは、データ交換に相互証明書セキュリティを使用します。GlassFish/Metroを使用してWCFセキュアWebサーバーに偽装する際の問題

WSDLには、WCFサーバーのホスト証明書に一致するX509証明書が組み込まれています。

JavaクライアントをGlassfishがホストするJavaサービスに接続しようとすると、もちろん証明書エラーが発生します。

これを機能させるにはどのような手順が必要ですか?

A)Glassfishをインストールしたときに作成された自己署名Glassfish証明書 's1as'の内容で、WSDLのX509証明書文字列を置き換える必要があります。

B)グラスフィッシュインストールで提供されているデフォルトのcacerts.jksおよびkeystore.jks証明書ストアを使用するように、サーバーNetwork ConfigurationのGlassfishサーバーSSLパラメータを設定します。ここでSSLを使用していないにもかかわらず、サーバーがそのトラストストアとキーストアがHTTP経由で相互証明書セキュリティを実行する場所を知る必要があると仮定しています。

C) 's1as'サーバー証明書をJavaクライアントのトラストストアに追加します。

D)元のWCF接続クライアント用に以前使用していた証明書を、Glassfishサーバーのキーストアに追加します。 (私はこの1つでは分かりません)

ここには何かがありますか?どんな援助も高く評価されるだろう。

+0

SSLまたはメッセージレイヤセキュリティ(WSセキュリティ)を使用していますか?なぜあなたはサービスをシミュレートしていて、実際のWCFサービスを使用していないのですか? – Tomer

答えて

1

明らかに、SSLではなく、メッセージレイヤのセキュリティを使用しています。したがって、通信レイヤーは暗号化されず、メッセージそのものだけが暗号化されません。

これは、GlassfishでWSIT機能を使用して行われます。 WSITチュートリアル:http://docs.oracle.com/cd/E19316-01/820-1072/ahiem/index.htmlの相互証明書のセキュリティの例を参照することをお勧めします。

基本的に、WSITはのインストールで/domains/domain1/configのキーストアを使用し、WSIT記述子に別名で指定する必要があります。

Greets、Geert。

関連する問題