当我在WCF中将安全模式设置为传输时,消息安全性是否仍然有效

当我在WCF中将安全模式设置为传输时,消息安全性是否仍然有效,wcf,nettcpbinding,transport-security,Wcf,Nettcpbinding,Transport Security,我有一个WCF服务,其安全模式已设置为“传输”。 以下是我的服务配置: <bindings> <netTcpBinding> <binding name="tcpConSecure" > <security mode="Transport"> <transport clientCredentialType="Windows" protectio

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

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

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

问题:

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

  • 由此,消息在传输级别由windows安全性保护。Windows安全意味着什么?

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


    如果使用传输模式,则用于保护传输的主要机制是基于HTTP(通常称为HTTPS)的安全套接字层(SSL)。因此,如果我们使用传输模式,我们需要将证书绑定到服务。有关运输安全的更多信息,请参阅此部分。

    谢谢您的回答。如果我使用传输模式并将客户端凭据类型设置为“Windows”,理论上我不需要将证书绑定到服务,对吗?在这种情况下,WCF是否仍使用SSL保护传输?WCF不使用SSL保护传输。如果要使用SSL保护传输,必须使用https,https必须与证书绑定。您好,问题解决了吗?如果你认为我的回答对你有帮助,你可以把它标记为回答。