2012-08-11 65 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中驗證)。

當然,您可以使用傳輸層不支持的消息憑證,例如用戶名/密碼。