【问题标题】:WCF binding security for encryption用于加密的 WCF 绑定安全性
【发布时间】:2012-08-08 23:55:55
【问题描述】:

这是我很困惑的 WCF 绑定和安全问题:

您在以下位置托管 Windows Communication Foundation (WCF) 服务 http://www.contoso.com 执法机构。该机构补充说 支持通过以下方式发送生物特征指纹数据的操作 非缓冲流。服务数据在之间路由 中介。您默认使用的 WCF 绑定不 支持加密。您需要确保指纹数据是 通过网络传递时未披露。你应该怎么做?

  • A.使用具有消息安全性的 basicHttpBinding 到 https://www.contoso.com
  • 乙。使用具有传输安全性的 basicHttpBinding 到 https://www.contoso.com
  • C.使用具有消息安全性的 wsHttpBinding 到 https://www.contoso.com
  • D.使用具有传输安全性的 wsHttpBinding 到 http://www.contoso.com

答案是 B。但我认为这里说的是“服务数据在中介之间路由”,因此消息安全性应该优于传输安全性。好吧,它确实说“默认情况下您使用的 WCF 绑定不支持加密”,但这里的选项确实提供了使用 wsHttpBinding,所以我认为 A 和 C 都可以。谁能告诉我哪里错了?

【问题讨论】:

    标签: wcf security encryption wshttpbinding basichttpbinding


    【解决方案1】:

    问题中的这句话是关键:

    您默认使用的 WCF 绑定不支持加密

    这意味着问题暗示您正在使用 basicHttpBinding,因为 wsHttpBinding 默认启用了 WS*-Security。您实际上可以通过 Fiddler 检查调用。默认情况下,使用安全令牌对消息进行签名和加密 - 对于血腥的细节 - 这个 explains 缓存在服务上的 SPNEGO 令牌。

    因此,由于我之前突出显示的句子,因此消除了 C、D。

    剩下 A 和 B。我不同意 B 因为 MSDN 本身states 认为 传输安全性只保护消息,通信是点对点的。如果消息在到达最终接收者之前被路由到一个或多个 SOAP 中介,则一旦中介从线路中读取消息,消息本身就不会受到保护。

    问题也很明确的说:

    服务数据在中介之间路由

    因此,我相信正确答案是A,一些 WCF 专家可能会纠正我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-08
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多