2012-08-11 83 views
2

Here MSDN以及here指出在处理wsHttpBinding时,传输安全性是通过SSL处理的。WCF wsHttpBinding with Transport Security

MSDN page about SSL and WCF上指出,当ServiceHost托管在IIS中时,ServiceHost会使SSL由IIS处理。

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

它甚至似乎的东西说这种效果here,它指出

“当设置安全模式TransportWithMessageCredential,该 运输确定提供 传输级安全性的实际机制。对于例如,HTTP协议使用安全 通过HTTP的套接字层(SSL)(HTTPS)。因此,将任何传输安全对象(例如 作为HttpTransportSecurity)的 ClientCredentialType属性设置为忽略。换句话说,您只能设置 CLIEN消息安全对象的tCredentialType(对于 WSHttpBinding绑定,NonDualMessageSecurityOverHttp对象)。“

然而herebasicHttpBindingwsHttpBinding,他们都断然强调举例,如果安全模式设置为交通运输,绑定/运输/ clientCredentialType设置的东西(如:Windows)中。

TransportTransportWithMessageCredential有什么区别?

并且我是否有错误的结尾?SecurityType枚举(​​)不仅仅是为了隐私,而是为了验证服务器?

如果通过SSL加密提供传输安全性,认证/授权如何纠缠到这个阶段?

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

+0

伟大的问题。不好,没有答案。 – 2013-02-01 11:55:44

回答

0

据我所知,TransportWithMessageCredential是一种“两全其美”。该通道在传输层得到保护,因此客户端与服务之间存在安全连接(可以非常快速,以硬件实现),并且使用消息凭证对消息进行签名,以便在到达服务之前可以存活多次(在WCF中验证)。

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