2017-02-16 9 views
0

カスタムサービスを使用してWebサービスを使用するクライアントがあります。私は要求を送る前にサービスとクライアント証明書を設定していますが、この方法では、使用するサービス証明書を知り、それをクライアントマシンにインストールする必要があります。現在の証明書を提供するサービスを提供したいので、変更するたびに更新する必要はありません。CustomBindingを使用するときにWCFでNegotiateServiceCredentialを有効にする方法

これは、Securityプロパティを通じてNegotiateServiceCredentialをTrueに設定してWSHttpBindingを使用するときに行うことができますが、私はCustomBindingを使用しているので、このようなプロパティは存在せず、NegotiateServiceCredentialをTrueに設定する場所がわかりません。

誰もがこれを手伝ってくれますか?

ありがとうございました。

答えて

0

HTTP経由で動作し、MessageSecurityOverHttpElement要素を持つCustomBindingを作成する必要があります。そこには、NegotiateServiceCredentialプロパティがあり、この機能を有効/無効にすることができます。

このリンクは、Custom Binding with a SecurityBindingElementの作成を開始するはずです。 MessageSecurityOverHttpElementを追加するまで、そこから作業を進めてください。

+0

ありがとう、ホルヘ。 NegotiateServiceCredentialにアクセスするためのセキュリティプロパティを含む唯一のバインディングクラスであるため、 "WSDualHttpBinding"を使用する必要があるようです。しかし、それを動作させるために私のcustomBindingにどのバインディング要素を追加すべきかに関する情報を見つけることができませんでした。私が推測する瞬間、私はすべてのクライアント上でサービス証明書を更新し続けます。 もう一度ありがとうございます。 –

+0

WSDualHttpBindingが必要な理由はありますか?WSHttpBindingだけを使用することはできませんか? WSDualHttpBindingはかなり複雑なので、デュプレックスコールバック用の別のチャンネルを開きます。あなたの問題の周りに他の方法が見つからない限り、実際にはWSDualHttpBindingから離れるべきです:) –

+0

MessageSecurityOverHttpクラスに関する情報はwsDualHttpBindingで使用されているので、何も考えない。とにかく、私たちはdifferenteアプローチを選択し、リモートサーバー証明書を1つのリポジトリにインストールするツールを構築し、すべてのクライアントはWebサービスを消費し、公開時にその証明書をインストールします。ご協力いただきありがとうございます。 –

関連する問題