WCFを使用してサーバーからの暗号化されていない応答を許可する

StackOverflow https://stackoverflow.com/questions/1440501

  •  10-07-2019
  •  | 
  •  

質問

WCFを使用してWebサービスに接続しています。サーバーで正しく認証し、リクエストを送信し、署名付きの応答を返すことができます。

唯一のことは、応答の本文が暗号化されていないことです。わかりました、それでいいです。それは私のサービスではなく、彼らが物事をどのように行うかの呼び出しではありません、私はただクライアントを書いています。

問題は、WCFが、応答メッセージの「Body」に必要な部分が暗号化されていないことを示すMessageSecurityExceptionを引き続き表示することです。 app.configのどこで、暗号化されていない2つの空飛ぶクラップスを渡せないように指定できますか?

レコードには、customBindingを使用しています。

役に立ちましたか?

解決

保護レベル(WCFのデフォルトは「EncryptAndSign」)は、サービス契約で設定されます。サービスメソッドを定義するインターフェイス:

[ServiceContract(Name="YourServiceContract", 
                 Namespace="http://www.yourdomain.com/2009/09/WCF", 
                 ProtectionLevel=ProtectionLevel.None)]
public interface IYourService
{
    string SayHello(string inputString);
}

「ProtectionLevel.EncryptAndSign」に設定できます。 (デフォルト)、"署名"または"なし"。

ただし、リクエストに対して1つ、レスポンスに対して1つに設定することはできません。WCF通信の両方向に保護レベルが適用されます。

これらのトピックを説明する WCFセキュリティの基礎をご覧ください(これは特に2ページにあります)。

マーク

他のヒント

保護されたメッセージを送信し、応答の保護を解除する方法があります。ただし、Microsoftテクニカルサポートから要求する必要がある修正プログラムが必要です。これにより、再発する要求を必要とするが、セキュリティで保護されていない障害を送り返す政府サービスで作業するときに節約できました。ホットフィックスの詳細については、こちらをご覧ください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top