【问题标题】:WCF - Transport Security w/ message level encryptionWCF - 具有消息级别加密的传输安全性
【发布时间】:2011-05-11 20:32:42
【问题描述】:

除了通过 WCF 中的配置进行消息级加密之外,是否可以同时使用传输安全性(HTTPS、使用客户端证书的身份验证)?这是通过开箱即用的 wsHttpBinding 完成的吗?

我正在尝试使用自定义绑定来完成此操作,但无法判断请求是否在消息级别加密,因为它们在跟踪日志中显示为纯文本。

我进行了大量研究,但似乎找不到任何可靠的答案。任何帮助表示赞赏!

【问题讨论】:

  • 使用 Wireshark 查明它们是否被加密。

标签: wcf wcf-binding


【解决方案1】:

是的,可以同时拥有as described in this MSDN article. 这篇文章非常全面和详细,但启用此功能的关键在于以下设置:

 <!-- snipped -->
     <wsHttpBinding>
        <binding name="wsHttp">
           <security mode="TransportWithMessageCredential">
              <transport clientCredentialType="Certificate"/>
              <message clientCredentialType="Certificate"
                       negotiateServiceCredential="true" />
           </security>
        </binding>
     </wsHttpBinding>
 <!-- snipped -->

【讨论】:

  • 感谢您的链接。我仍然对在这种情况下使用“MessageCredential”感到有些困惑。在这种情况下,除了通过传输进行身份验证之外,还会使用客户端证书对消息进行加密吗?
  • 本文使用自签名证书来演示如何配置具有相互证书身份验证的服务。因此消息凭证是服务用于身份验证的客户端证书。 This question and answers 包含可以帮助您了解消息凭据的信息。顺便说一句:在生产中,您将使用由您的组织或证书供应商通过这种方法生成的“真实”证书。
  • 我将通过提供this link 来补充这一点。这是我发现的最好的资源,可以帮助理解 WCF 配置元素如何转换为 WS 规范。
猜你喜欢
  • 2014-05-22
  • 2010-10-04
  • 2011-08-27
  • 2011-06-17
  • 1970-01-01
  • 2013-02-05
  • 2016-08-14
  • 2019-01-27
  • 1970-01-01
相关资源
最近更新 更多