WCF DualHTTPBINDING消息安全性

时间:2014-05-18 09:40:03

标签: c# wcf ssl wcf-security wsdualhttpbinding

当使用带有消息安全性的WSDUALHTTPBINDING时,是否也建议使用传输安全性[即SSL]?也许这取决于场景。就我而言,客户端和服务都位于Intranet上。如果该服务是通过互联网在网络服务器上,答案会有所不同吗?

现在更新我知道wsduallhttpbinding不支持传输安全性,消息安全性是否安全,或者我应该在我的场景下使用支持ssl的其他绑定

3 个答案:

答案 0 :(得分:4)

wsDualHttpBinding不支持传输级安全性,这意味着无法进行SSL / TLS加密。以下引用确认传输安全性不是wsDualHttpBinding绑定的选项:

MSDN: WSDualHttpSecurityMode枚举仅限于两个选项:Message& None http://msdn.microsoft.com/en-us/library/ms731363(v=vs.110).aspx
http://msdn.microsoft.com/en-us/library/system.servicemodel.wsdualhttpsecuritymode(v=vs.110).aspx

注意:我还检查了Microsoft®服务配置编辑器(下图)以验证选项 enter image description here

以下在线资源提供了良好的背景信息:
http://wcfsecurityguide.codeplex.com/

注意:方案Intranet与Internet Web服务没有考虑到答案因为建议的配置无论如何都是无效的。因此,除非您更改绑定,否则不使用SSL。

此致

答案 1 :(得分:3)

wsDualHttpBinding不支持传输安全性,如下所述:http://msdn.microsoft.com/en-us/library/ff648589.aspx

绑定限制:传输安全性不适用于 wsDualHttpBinding

您可以依赖邮件安全性。它使用WS-Security来保护每条消息。

<强>更新 正如我所说,您可以依赖Message安全性,它提供端到端的安全性。你可以在这里找到详细的解释:http://msdn.microsoft.com/en-us/library/ff648863.aspx

Message安全性的缺点主要在于每条消息的加密速度都有点慢,但不要担心它足够安全,您不需要更改绑定。

答案 2 :(得分:2)

根据原始问题:

  

将WSDUALHTTPBINDING与消息安全性一起使用时,是否建议使用   也使用传输安全[即SSL]?

如上所述,WSDualHttpBinding不支持Transport级别的安全性。所以原来的问题有点被打败了。

根据问题的更新:

  

现在更新我知道wsduallhttpbinding不支持传输   安全性,消息安全性是安全的,还是我应该使用另一种   在我的场景下支持ssl的绑定

Message级安全性实际上更优越,因为它提供了端到端的安全性。 Transport级别安全性仅提供点对点安全性。

消息安全性直接对消息进行加密和签名,因此即使通过中间系统路由消息也不会破坏安全性。您还可以获得额外的奖励,即消息安全性与传输无关,因此可以与任何传输协议一起使用。

MSDN实际上建议在互联网场景中使用邮件安全性:

  

在以下情况下使用邮件安全性:

     
      
  • 您正在向WCF服务发送消息,该消息可能会转发到其他WCF服务或可能通过   中间系统。
  •   
  • 您的WCF客户端正在通过Internet访问WCF服务,并且可以通过中间系统路由消息。
  •   

MSDN上的这篇 Message and Transport Security 文章对您非常有帮助。