具有传输安全性的WCF wsHttpBinding

具有传输安全性的WCF wsHttpBinding,wcf,security,wcf-binding,Wcf,Security,Wcf Binding,在MSDN上以及在处理wsHttpBinding时声明,传输安全性通过SSL处理 在上,它表示当ServiceHost托管在IIS中时,ServiceHost会将SSL留给IIS处理 这是否意味着如果binding/securityMode=“Transport”,任何wsHttpBinding/binding/security/Transport/clientCredentialType值都将被忽略,因为设置SSL传输不需要它们的任何选项 它甚至似乎说了一些这样的话 “将安全模式设置为Tran

在MSDN上以及在处理
wsHttpBinding
时声明,传输安全性通过SSL处理

在上,它表示当ServiceHost托管在IIS中时,ServiceHost会将SSL留给IIS处理

这是否意味着如果
binding/securityMode=“Transport”
,任何
wsHttpBinding/binding/security/Transport/clientCredentialType
值都将被忽略,因为设置SSL传输不需要它们的任何选项

它甚至似乎说了一些这样的话

“将安全模式设置为TransportWithMessageCredential时 传输确定提供传输的实际机制 传输级安全。例如,HTTP协议使用安全 HTTP(HTTPS)上的套接字层(SSL) 任何传输安全对象的ClientCredentialType属性(例如 因为HttpTransportSecurity)被忽略。换句话说,您只能设置 消息安全对象的ClientCredentialType(用于 WSHttpBinding,非UALMessageSecurityOverHTTP对象)

然而对于
basicHttpBinding
wsHttpBinding
,它们都以示例明确强调,如果安全模式设置为传输,则将binding/Transport/clientCredentialType设置为某种类型(例如:Windows)

Transport
TransportWithMessageCredential
之间的确切区别是什么

我是否有错误的一端,而
SecurityType
enum(
None | Message | Transport | Mixed
)不仅仅是为了隐私,也是为了服务器身份验证

如果传输安全由SSL加密提供,那么身份验证/授权是如何进入这一阶段的


非常感谢您帮助我更好地了解这一切是如何结合在一起的。

据我所知,TransportWithMessageCredential有点“两全其美”。通道在传输层上是安全的,因此在客户端和服务之间有一个安全的连接(可以非常快,在硬件中实现),此外,消息使用消息凭据进行签名,以便在到达服务(在WCF中验证)之前能够经受多跳


当然,您可以使用传输层不支持的消息凭据,例如用户名/密码。

据我所知,TransportWithMessageCredential有点“两全其美”。通道在传输层上是安全的,因此在客户端和服务之间有一个安全的连接(可以非常快,在硬件中实现),此外,消息使用消息凭据进行签名,以便在到达服务(在WCF中验证)之前能够经受多跳


当然,您可以使用传输层不支持的消息凭据,例如用户名/密码。

好问题。糟糕的是,没有回答。好问题。糟糕的是,没有人回答。