簡體   English   中英

在WCF中使用Windows身份驗證類型時,是否以純文本格式發送用戶名和密碼?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM