[英]Are username and password sent in plain text when using windows authentication type in WCF?
如果我有以下綁定:
<bindings>
<wsHttpBinding>
<binding name="Binding">
<security mode="Transport">
<message clientCredentialType="Windows"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
用戶名和密碼是否可以通過網絡以純文本形式發送?
我知道默認情況下wcf會加密連接。 我問這個問題的原因是因為:
我從http://msdn.microsoft.com/en-us/library/aa354513.aspx那里得到了
所以我的問題是我知道默認情況下連接是加密的。 但是,我是否需要ssl證書才能防止用戶看到用戶名和密碼。 我知道,一旦我通過身份驗證,郵件就會被加密。 但是密碼和用戶名也加密了嗎?
這里的其他答案具有誤導性和不正確性,盡管他們可能會通過提及運輸安全性向您保證。 正確的答案是Windows身份驗證不會以純文本格式發送密碼。
當客戶端向服務器保證用戶是他們所聲稱的用戶時,Windows身份驗證就有效。 沒有密碼通過電線傳輸。
如果您使用基本身份驗證,則密碼將通過網絡傳輸; 如果使用任何https
傳輸,則連接已加密,但在該連接中,郵件內容未加密。
請參閱WCF wsHttpBinding的Windows身份驗證的安全性如何? 一個類似的問題。
有關WCF傳輸安全性的更多信息,請參閱MSDN消息和傳輸安全性。
通過電匯發送的數據包含在郵件中,是純文本格式; 但是,鑒於正在使用傳輸安全模式,客戶端 - 服務器通信通過http(以及TCP的情況下為TLS)通過ssl進行保護。
關於運輸如何保護通信,可以在此處閱讀更多內容。
但是因為兩個通信方都不需要理解xml級安全性概念,所以消息的實際xml是以純文本形式發送的。
編輯 :Kirk Broadhurst是正確的 - 在Windows身份驗證的情況下,用戶名和密碼沒有附加到/出現在郵件上,但是任何存在的數據都沒有加密。
WsHttpBinding默認加密消息,因此它不是純文本。
更多信息在這里 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.