共用方式為


<wsHttpBinding> 的<訊息>

定義 <wsHttpBinding> 的訊息層級安全性設定。

<configuration>
  <system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding>
          <security>
            <message>

Syntax

<message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
         clientCredentialType="Certificate/IssuedToken/None/UserName/Windows"
         establishSecurityContext="Boolean"
         negotiateServiceCredential="Boolean" />

類型

NonDualMessageSecurityOverHttp

屬性和項目

下列各節說明屬性、子元素和父元素

屬性

屬性 描述
algorithmSuite 設定訊息加密和金鑰包裝演算法。 這些演算法和金鑰大小是由 SecurityAlgorithmSuite 類別所決定。 這些演算法會對應到安全性原則語言 (WS-SecurityPolicy) 規格中所指定的演算法。

預設值是 Basic256
clientCredentialType 選擇性。 指定使用的安全性模式為 MessageTransportWithMessageCredentials 執行用戶端驗證時,要使用的認證類型。 列舉值如下所示。 預設值為 Windows

此屬性的型別為 MessageCredentialType
establishSecurityContext 布林值,決定安全性通道是否建立安全工作階段。 安全工作階段會先建立安全性內容權杖 (SCT),再交換應用程式訊息。 建立 SCT 後,安全性通道會提供 ISession 介面給上層通道。 深入瞭解使用安全性工作階段,請參閱如何:建立安全性工作階段

預設值是 true
negotiateServiceCredential 選擇性。 布林值,指定是否在超出範圍的用戶端提供服務認證,或透過交涉處理取得從服務到用戶端的服務認證。 此類交涉是一般訊息交換的前兆。

如果 clientCredentialType 屬性等於 None、Username 或 Certificate,則將這個屬性設定為 false 意指服務憑證可在超出範圍的用戶端使用,且用戶端需要在 <serviceCredentials> 服務行為指定服務憑證 (使用 <serviceCertificate>)。 這個模式可與實作 WS-Trust 和 WS-SecureConversation 的 SOAP 堆疊互通。

如果 ClientCredentialType 屬性設定為 Windows,則將這個屬性設定為 false 可指定 Kerberos 驗證。 這表示用戶端和服務必須屬於同一個 Kerberos 網域。 這個模式可與實作 Kerberos 權杖設定檔 (如在 OASIS WSS TC 所定義) 以及 WS-Trust 和 WS-SecureConversation 的 SOAP 堆疊互通。

當這個屬性是 true 時,會造成透過 SOAP 訊息以通道連接 SPNego 交換的 .NET SOAP 交涉。

預設值為 true

algorithmSuite 屬性

描述
Basic128 使用 Basic128 加密,Sha1 用於訊息摘要,Rsa-oaep-mgf1p 用於金鑰包裝。
Basic192 使用 Basic192 加密,Sha1 用於訊息摘要,Rsa-oaep-mgf1p 用於金鑰包裝。
Basic256 使用 Basic256 加密,Sha1 用於訊息摘要,Rsa-oaep-mgf1p 用於金鑰包裝。
Basic256Rsa15 將 Basic256 用於訊息加密,Sha1 用於訊息摘要,Rsa15 用於金鑰包裝。
Basic192Rsa15 將 Basic192 用於訊息加密,Sha1 用於訊息摘要,Rsa15 用於金鑰包裝。
TripleDes 使用 TripleDes 加密,Sha1 用於訊息摘要,Rsa-oaep-mgf1p 用於金鑰包裝。
Basic128Rsa15 將 Basic128 用於訊息加密,Sha1 用於訊息摘要,Rsa15 用於金鑰包裝。
TripleDesRsa15 使用 TripleDes 加密,Sha1 用於訊息摘要,Rsa15 用於金鑰包裝。
Basic128Sha256 將 Basic256 用於訊息加密,Sha256 用於訊息摘要,Rsa-oaep-mgf1p 用於金鑰包裝。
Basic192Sha256 將 Basic192 用於訊息加密,Sha256 用於訊息摘要,Rsa-oaep-mgf1p 用於金鑰包裝。
Basic256Sha256 將 Basic256 用於訊息加密,Sha256 用於訊息摘要,Rsa-oaep-mgf1p 用於金鑰包裝。
TripleDesSha256 將 TripleDes 用於訊息加密,Sha256 用於訊息摘要,Rsa-oaep-mgf1p 用於金鑰包裝。
Basic128Sha256Rsa15 將 Basic128 用於訊息加密,Sha256 用於訊息摘要,Rsa15 用於金鑰包裝。
Basic192Sha256Rsa15 將 Basic192 用於訊息加密,Sha256 用於訊息摘要,Rsa15 用於金鑰包裝。
Basic256Sha256Rsa15 將 Basic256 用於訊息加密,Sha256 用於訊息摘要,Rsa15 用於金鑰包裝。
TripleDesSha256Rsa15 將 TripleDes 用於訊息加密,Sha256 用於訊息摘要,Rsa15 用於金鑰包裝。

clientCredentialType 屬性

描述
這會允許服務與匿名用戶端互動。 在服務端上,這表示此服務不需要任何用戶端認證。 在用戶端上,這表示此用戶端不提供任何用戶端認證。
憑證 允許服務要求用戶端使用憑證進行驗證。 如果使用訊息安全性模式且 negotiateServiceCredential 屬性設定為 false,則必須為用戶端提供服務憑證。
IssuedToken 指定通常由安全性權杖服務所發出的自訂權杖。
使用者名稱 允許服務要求用戶端必須使用 UserName 認證進行驗證。 WCF 不支援使用密碼傳送密碼摘要或衍生金鑰,也不支援使用這類金鑰維持訊息安全。 如此一來,WCF 就能在使用 UserName 認證時,強制保護傳輸。 這個認證模式會產生可互通交換或是無法互通的交涉 (根據 negotiateServiceCredential 屬性)。
Windows 允許 SOAP 交換在 Windows 認證的已驗證內容中。 如果 negotiateServiceCredential 屬性設定為 true,這會執行 SSPI 交涉或 Kerberos (互通標準)。

子元素

父項目

元素 描述
<security> 定義 <wsHttpBinding> 的安全性設定。

另請參閱