WCF - 传输安全性是否仅适用于Intranet方案?

时间:2014-04-11 17:43:34

标签: c# wcf transport-security

我想在传输级别保护WCF服务,但是阅读本文时它说它适用于Intranet场景: http://msdn.microsoft.com/en-us/library/ff648863.aspx

  

“在以下情况下使用传输安全性:

     

您正在从应用程序直接向WCF发送消息   服务和消息不会通过中间路由   系统。       服务和客户端都位于Intranet中。“

对于Internet场景,应该使用Message Security方法吗?

  

“您的WCF客户端正在通过Internet访问WCF服务   消息可以通过中间系统路由。“

请告诉我,传输安全性是否仅适用于Intranet方案?

1 个答案:

答案 0 :(得分:3)

您可以通过互联网使用Transport级别的安全性服务。 Message - 通常建议使用级别安全性,因为它提供了更高级别的安全性。 Message - 级别提供端到端安全性,而Transport级别仅提供点对点,但这并不意味着您无法在没有Message安全性的情况下创建安全WCF服务。

甚至有些情况下,互联网上的Message安全性是一个糟糕的选择,例如Streaming Large Data。使用Message安全性时,您无法以块的形式传输数据,因为在设置消息安全性之前,WCF会在传输之前将所有消息缓冲到内存中。这可能导致可伸缩性问题。

您可以使用Secure HTTP(HTTPS协议)通过互联网以Transport安全保护您的WCF服务。在服务器计算机上安装证书,将证书绑定到服务器计算机上的指定端口,SSL将提供安全性。

但我总是在互联网场景中使用Message安全性 - 除非在上述大数据场景中情况不允许。