当我在 WCF 中将安全模式设置为传输时,消息安全是否仍然有效
Does Message Security still work when I set Security Mode to Transport in WCF
我有一个安全模式设置为“传输”的 WCF 服务。
下面是我的服务配置:
<bindings>
<netTcpBinding>
<binding name="tcpConSecure" >
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
</security>
</binding>
</netTcpBinding>
</bindings>
当我使用 VisualStudio 的“编辑 WCF 配置”工具打开我的配置时,在安全选项卡中,它将显示如下:
问题:
- 当我将模式设置为传输时,MessageSecurity 属性区域中的设置是否仍然有效?我问这个问题是因为我没有在配置文件中设置消息安全相关的属性。
- 当我将安全模式设置为“传输”并将客户端凭据类型设置为“Windows”时,server/client 之间的传输消息是否会被加密?通过什么算法?
由此 link,消息在传输级别受到 windows 安全性的保护。 Windows 安全是什么意思?
第一个问题,如果mode设置为“Transfer”,MessageSecurity属性区的设置将失效。使用传输和消息凭据保护服务使用 Windows Communication Foundation (WCF) 中传输和消息安全模式的最佳方式。总之,传输层安全性提供完整性和机密性,而消息层安全性提供各种凭据,而严格的传输层安全机制无法提供这些凭据。关于TransportWithMessageCredential的更多信息,可以参考这篇link.
如果使用Transport模式,主要用于保护传输的机制是基于HTTP的Secure Sockets Layer (SSL),通常称为HTTPS。所以如果我们使用传输模式,我们需要给服务绑定一个证书。有关传输安全的更多信息,您可以参考此link。
我有一个安全模式设置为“传输”的 WCF 服务。 下面是我的服务配置:
<bindings>
<netTcpBinding>
<binding name="tcpConSecure" >
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
</security>
</binding>
</netTcpBinding>
</bindings>
当我使用 VisualStudio 的“编辑 WCF 配置”工具打开我的配置时,在安全选项卡中,它将显示如下:
问题:
- 当我将模式设置为传输时,MessageSecurity 属性区域中的设置是否仍然有效?我问这个问题是因为我没有在配置文件中设置消息安全相关的属性。
- 当我将安全模式设置为“传输”并将客户端凭据类型设置为“Windows”时,server/client 之间的传输消息是否会被加密?通过什么算法?
由此 link,消息在传输级别受到 windows 安全性的保护。 Windows 安全是什么意思?
第一个问题,如果mode设置为“Transfer”,MessageSecurity属性区的设置将失效。使用传输和消息凭据保护服务使用 Windows Communication Foundation (WCF) 中传输和消息安全模式的最佳方式。总之,传输层安全性提供完整性和机密性,而消息层安全性提供各种凭据,而严格的传输层安全机制无法提供这些凭据。关于TransportWithMessageCredential的更多信息,可以参考这篇link.
如果使用Transport模式,主要用于保护传输的机制是基于HTTP的Secure Sockets Layer (SSL),通常称为HTTPS。所以如果我们使用传输模式,我们需要给服务绑定一个证书。有关传输安全的更多信息,您可以参考此link。