【问题标题】:Does Message Security still work when I set Security Mode to Transport in WCF当我在 WCF 中将安全模式设置为传输时,Message Security 是否仍然有效
【发布时间】:2020-12-11 06:36:20
【问题描述】:

我有一个安全模式设置为“传输”的 WCF 服务。 以下是我的服务配置:

<bindings>
  <netTcpBinding>
    <binding name="tcpConSecure" >
      <security mode="Transport">
        <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
      </security>
    </binding>
  </netTcpBinding>
</bindings>

当我使用 VisualStudio“编辑 WCF 配置”工具打开我的配置时,在安全选项卡中,它会显示如下:

问题:

  1. 当我将模式设置为传输时,MessageSecurity 属性区域中的设置是否仍然有效?我问这个问题是因为我没有在配置文件中设置消息安全相关的属性。
  2. 当我将安全模式设置为“传输”并将客户端凭据类型设置为“Windows”时,服务器/客户端之间的传输消息是否会被加密?通过哪种算法?

来自这个link,消息在传输级别由 Windows 安全性保护。 Windows 安全是什么意思?

【问题讨论】:

  • 您好,问题解决了吗?如果您认为我的回复对您有帮助,您可以将其标记为答案。

标签: wcf nettcpbinding transport-security


【解决方案1】:

对于第一个问题,如果模式设置为“Transfer”,MessageSecurity属性区的设置将无效。使用传输和消息凭据保护服务使用 Windows Communication Foundation (WCF) 中的传输和消息安全模式中最好的。总而言之,传输层安全提供完整性和机密性,而消息层安全提供了严格的传输安全机制无法提供的各种凭证。关于 TransportWithMessageCredential 的更多信息,可以参考这个link

如果使用传输模式,保护传输的主要机制是基于HTTP的安全套接字层(SSL),通常称为HTTPS。所以如果我们使用传输模式,我们需要给服务绑定一个证书。有关传输安全的更多信息,您可以参考此link

【讨论】:

  • 感谢您的回答。如果我使用传输模式并将客户端凭据类型设置为“Windows”,理论上我不需要将证书绑定到服务,对吧?在这种情况下,WCF 是否仍然使用 SSL 来保护传输?
  • WCF 不使用 SSL 来保护传输。如果要使用SSL保护传输,必须使用https,并且https必须绑定证书。
猜你喜欢
  • 2013-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多