作法:保護可靠工作階段內的訊息

本主題概要說明透過其中一個系統提供的繫結 (此繫結支援此類工作階段,但非預設) 啟用可靠工作階段中所交換訊息的訊息層級安全性所需的步驟。 以命令方式使用程式碼或宣告方式的組態檔來啟用安全且可信賴的工作階段。 此程序透過用戶端與服務組態檔來啟用安全、可靠的工作階段。

此程序包含下列三項主要工作:

  1. 指定用戶端與服務在可靠工作階段中交換訊息。

  2. 可靠工作階段中需要訊息層級的安全性。

  3. 指定要向服務驗證用戶端時,用戶端必須使用的用戶端認證類型。

在第一個工作中,端點組態元素所包含 bindingConfiguration 屬性必須參考名為 MessageSecurity (適用本範例) 的繫結組態。 然後,<binding> 組態元素會參考此名稱,藉由將 <reliableSession> 元素的 enabled 屬性設定為 true 來啟用可信賴的工作階段。 您可以將 ordered 屬性設為 true,要求在可靠工作階段中提供依順序遞送的保證。

如需此組態程序的原始檔範例,請參閱 WS 可信賴的工作階段

您可以將 <security> 元素 (包含在用戶端與服務的 <binding> 元素中) 的 mode 屬性設定為 Message,來完成第二項工作中的重要項目。

您可以將 <message> 元素 (包含在用戶端與服務的 <security> 元素中) 的 clientCredentialType 屬性設定為 Certificate,來完成第三項工作中的重要項目。

注意

在使用包含可信賴工作階段的訊息安全性時,可信賴傳訊就會持續嘗試驗證未經驗證的用戶端,直到發生逾時為止,而不是在第一次失敗時就擲回例外狀況。

將包含 WSHttpBinding 的服務設定為使用可信賴的工作階段

此程序會在操作說明:在可信賴工作階段中交換訊息中描述。

將包含 WSHttpBinding 的用戶端設定為使用可信賴工作階段

此程序會在操作說明:在可信賴工作階段中交換訊息中描述。

若要在組態中設定模式與 ClientCredentialType

  1. 將適當的繫結元素新增至組態檔的 <bindings> 元素中。 下列範例會新增 <wsHttpBinding> 元素。

  2. 新增 <binding> 元素,並將其 name 屬性設定為適當值。 範例使用名稱 MessageSecurity

  3. 新增 <security> 元素,並將 mode 屬性設定為 Message

  4. <security> 元素中新增 <message> 元素,並將 clientCredentialType 屬性設定為 Certificate

<wsHttpBinding>
  <binding name="MessageSecurity">
    <security mode="Message">
      <message clientCredentialType="Certificate" />
    </security>
  </binding>
</wsHttpBinding>