共用方式為


逐步解說:搭配使用訊息安全性模式與 WCF-NetTcp 配接器

注意

如需配接器的詳細資訊,請參閱BizTalk Server 中的配接器

簡介

本逐步解說示範如何將 WCF-NetTcp 配接器設定為使用 Windows Communication Foundation (WCF) 訊息安全性模式,該模式會使用 WS-Security 規格來協助保護介面卡傳輸的訊息。 此規格描述 SOAP 傳訊通訊協定的增強功能,以在 SOAP 訊息層級完成機密性、完整性和驗證。 訊息安全性模式需要針對加密/解密和簽署/驗證等作業指定服務憑證,視安全性模式組合而定。

WCF-NetTcp 配接器會使用 NetTcpBinding 系結在 WCF 用戶端與 WCF 遠端服務之間進行通訊。 該配接器可完整存取 SOAP 安全性、可靠性和交易功能。 它可讓協調流程和架構發佈為 WCF 服務,也可讓您讓協調流程取用外部 WCF 服務。 此配接器使用 TCP 傳輸,而且訊息具有二進位編碼。 WCF-NetTcp 配接器包含傳送配接器和接收配接器。

本逐步解說示範如何使用 Active Directory 憑證服務建立訊息安全性模式的憑證。 您將建立伺服器和用戶端的憑證,然後將 WCF-NetTcp 接收位置設定為在訊息安全性模式中使用憑證。 藉由使用 WCF 用戶端,您將根據 XML 加密語法和處理,將訊息傳送至該接收位置處於加密狀態。

完成此逐步解說之後,您將會瞭解如何執行下列工作:

  • 使用 Active Directory 憑證服務來建立憑證要求,並藉由發行憑證來完成程式。

  • 從 BizTalk Server 管理主控台,將 WCF-NetTcp 配接器設定為使用訊息安全性模式。

必要條件

若要執行此範例中的步驟,請確定您的環境會安裝下列必要條件;

  • 建置元件並執行部署程式的電腦,以及執行範例的電腦都需要 Microsoft Windows Server 2008 SP2、Microsoft .NET Framework 4.5 和 Microsoft BizTalk Server。

  • 用來建置元件和執行部署程式的電腦需要 Microsoft Visual Studio。

  • 執行範例的電腦需要 WCF 配接器和 WCF 管理工具。 這些是安裝 Microsoft BizTalk Server期間安裝的選項。

  • 在您用來執行系統管理工作的電腦上,您必須以屬於 BizTalk Server Administrators 群組成員的使用者帳戶身分執行,以在 BizTalk Server 管理主控台內設定BizTalk Server應用程式設定。 此使用者帳戶也必須是本機 Administrators 群組的成員,才能部署應用程式、管理主機實例,以及其他可能需要的工作。

  • 在任何需要 WCF 功能的電腦上,完成 的 WCF 範例 https://go.microsoft.com/fwlink/?LinkId=135510 的一次性安裝程式。

  • 在執行範例並將系結或 .msi 檔案匯入BizTalk Server的電腦上,請確定主機不是受信任的主機,否則匯入將會失敗。

  • 在執行範例的電腦上,確定已安裝 Active Directory 憑證服務。

  • 您必須下載逐步解說程式碼,並將其解壓縮到您的電腦。 本逐步解說是整個 WCF 配接器逐步解說套件的一部分。 您可以從 BizTalk Server 開發人員中心下載WCFAdapterWalkthroughs.exe檔案https://go.microsoft.com/fwlink/?LinkId=194140

建立此逐步解說的憑證

  1. 在本節中,您將要求服務和用戶端憑證、發行憑證,並將其安裝到適當的存放區。 Active Directory 憑證服務可用來建立具有受信任憑證鏈結的憑證。 如果您未遵照必要條件的要求安裝 Active Directory 憑證服務,請將 Active Directory 憑證服務安裝在您的電腦上。 如果已安裝,請移至步驟 2。

    1. 按一下 [開始]、指向 [系統管理工具],然後按一下 [伺服器管理員]。

    2. [伺服器管理員]節點底下,按一下 [新增],然後按一下 [角色]。

    3. 這會顯示 [新增角色精靈] 的 [開始之前]對話方塊。 按一下 [下一步]。

    4. 在 [ 選取伺服器角色 ] 頁面上,選取 [ Active Directory 憑證服務],按 [ 下一步],然後依照畫面上的指示完成安裝。

  2. 建立服務驗證的憑證要求,如下所示:

    1. 在 Internet Explorer 中,流覽網站 http://localhost/certsrv 。 在 [歡迎使用] 頁面上,按一下 [要求憑證],然後按一下 [要求憑證] 頁面上的 [進階憑證要求]。

      注意

      使用 Windows Server 2008 SP2 作為憑證授權單位單位,並從 Windows Server 2008 SP2 電腦要求憑證要求時,您可能會收到「 若要完成憑證註冊,必須將 CA 的網站設定為使用 HTTPS 驗證」錯誤。 如果發生此錯誤,則必須使用 Web 憑證 (SSL) 來設定註冊網站。 如需完成此工作的詳細資訊,請參閱下列連結:

      AD CS:網頁註冊

      IIS 伺服器憑證安裝指示

    2. 在 [ 進階憑證要求 ] 頁面上,按一下 [ 建立],並將要求提交至此 CA

    3. 在 [進階憑證要求] 頁面上,輸入 localhost [名稱] 文字方塊中,從 [需要憑證的類型] 下拉式清單中選取 [伺服器驗證憑證],然後按一下 [提交]。

  3. 建立用戶端驗證的憑證要求,如下所示:

    1. 在 Internet Explorer 中,流覽網站 http://localhost/certsrv 。 在 [歡迎使用] 頁面上,按一下 [要求憑證],然後按一下 [要求憑證] 頁面上的 [進階憑證要求]。

    2. 在 [ 進階憑證要求 ] 頁面上,按一下 [ 建立],並將要求提交至此 CA

    3. 在 [進階憑證要求] 頁面上,輸入 contoso [名稱] 文字方塊中,從 [需要憑證的類型] 下拉式清單中選取[用戶端驗證憑證],然後按一下 [提交]。

    注意

    如果您在網域控制站以外的電腦上執行BizTalk Server,則會使用用戶端驗證憑證。 這會在配接器的屬性對話方塊中設定。

  4. 使用 [憑證授權單位] 管理主控台來發出憑證,如下所示:

    1. 按一下 [開始],指向 [ 系統管理工具],然後按一下 [ 憑證授權單位單位]。

    2. [憑證授權單位單位 ] 管理主控台中,展開憑證授權單位單位的名稱,然後按兩下 [擱置要求]。

    3. 憑證授權單位單位 管理主控台的右窗格中,以滑鼠右鍵按一下服務驗證憑證的要求,指向 [ 所有工作],然後按一下 [ 問題]。

    4. 憑證授權單位單位 管理主控台的右窗格中,以滑鼠右鍵按一下用戶端驗證憑證的要求,指向 [ 所有工作],然後按一下 [ 問題]。

    5. 關閉 憑證授權單位單位 管理主控台。

  5. 在電腦上安裝該發出憑證,如下所示:

    1. 在 Internet Explorer 中,流覽網站 http://localhost/certsrv

    2. 在 [ 歡迎使用 ] 頁面上,按一下 [ 檢視擱置憑證要求的狀態]。

    3. 在 [ 檢視擱置憑證要求的狀態 ] 頁面上,按一下伺服器驗證憑證。

    4. 在 [ 憑證發行] 頁面上,按一下 [安裝此憑證]。

    5. 在 Internet Explorer 中,流覽網站 http://localhost/certsrv

    6. 在 [ 歡迎使用 ] 頁面上,按一下 [ 檢視擱置憑證要求的狀態]。

    7. 在 [ 檢視擱置憑證要求的狀態 ] 頁面上,按一下用戶端驗證憑證。

    8. 在 [ 憑證發行] 頁面上,按一下 [安裝此憑證]。

  6. 確定發出的憑證已正確安裝,如下所示:

    1. 開啟 Microsoft Management Console (MMC)。 若要這樣做,請按一下 [ 開始],按一下 [ 執行],輸入 mmc ,然後按一下 [ 確定]。

    2. 在 MMC 的 [檔案] 功能表上,按一下 [新增/移除嵌入式管理單元]

    3. 在 [新增/移除嵌入式管理單元] 對話方塊中,按一下 [新增]。

    4. 在 [新增獨立嵌入式管理單元] 對話方塊中,從[可用的獨立嵌入式管理單元] 清單中選取 [憑證],然後按一下 [新增]。

    5. 在 [ 憑證嵌入式管理單元] 對話方塊中,選取 [ 我的使用者帳戶 ] 選項,然後按一下 [ 完成]。

    6. 關閉所有開啟的對話方塊。

    7. 在 MMC 的 [主控台根] 視窗中,依序展開 [ 憑證 - 目前使用者]、[ 個人]、[憑證] 和 [ 憑證],然後確認會顯示您在上一個步驟中安裝的憑證。

為此逐步解說建立 BizTalk 應用程式

  1. 按一下[開始],指向[所有程式],指向[Microsoft BizTalk Server 20xx],然後按一下[BizTalk Server管理]。

  2. 在 BizTalk Server 管理主控台中,展開[BizTalk 群組],以滑鼠右鍵按一下 [應用程式],指向 [新增],然後按一下 [應用程式]。

  3. 在 [ 應用程式屬性 ] 對話方塊的 [ 一般 ] 索引標籤上,輸入 WcfMessageSecurity ,然後按一下 [ 確定]。

  4. 使用 WCF-NetTcp 配接器建立 BizTalk 應用程式的接收位置,如下所示:

    1. 在 BizTalk Server 管理主控台中,展開[WcfMessageSecurity],以滑鼠右鍵按一下 [接收埠],指向 [新增],然後按一下[單向接收埠]。

    2. 在 [ 接收埠屬性 ] 對話方塊的 [ 名稱 ] 文字方塊中,輸入 WcfMessageSecurity.OrderRequest.Receive ,然後按一下 [ 確定]。 此接收埠的名稱絕對任意,但此名稱合理。

    3. 在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下 [接收位置],按一下 [新增],然後按一下[單向接收位置]。 WCF 用戶端會將 WCF 訊息傳送至此接收位置。 選取 WcfMessageSecurity.OrderRequest.Receive recive 埠,然後按一下 [ 確定]。

    4. 在 [ 接收位置屬性 ] 對話方塊的 [ 名稱 ] 文字方塊中,輸入 WcfMessageSecurity.OrderRequest.Receive.NetTcp 。 此接收位置的名稱絕對是任意的,但此名稱合理。

    5. 在 [接收位置屬性]對話方塊的 [類型] 旁的 [傳輸] 區段中,從下拉式清單中選取[WCF-NetTcp],然後按一下 [設定]。

    6. [WCF-NetTcp 傳輸屬性 ] 對話方塊的 [ 一般 ] 索引標籤的 [ 位址 (URI) ] 文字方塊中,輸入 net.tcp://localhost/WcfMessageSecurity

    7. [WCF-NetTcp 傳輸內容]對話方塊的 [安全性] 索引標籤上,從 [安全性模式] 下拉式清單中選取 [訊息],然後從 [訊息用戶端認證類型] 下拉式清單中選取 [憑證]。 這會設定 WCF-NetTcp 配接器以使用訊息安全性模式。

    8. 將服務憑證設定為與訊息安全性模式搭配使用。 在 [WCF-NetTcp 傳輸內容] 對話方塊的 [ 服務認證 ] 區段中,按一下 [ 流覽]。 在 [ 選取服務憑證 ] 對話方塊中,選取您在上一個程式中安裝的伺服器驗證憑證,然後按一下 [ 確定 ] 以關閉對話方塊並儲存變更。

    9. 關閉所有開啟的對話方塊。

      注意

      若要使用 WCF 接收配接器驗證用戶端憑證,用戶端憑證的 CA 憑證鏈結必須安裝在執行 WCF 介面卡主機實例之電腦的受信任根憑證授權單位憑證存放區中。 因為此逐步解說假設憑證服務、WCF 用戶端和 WCF 配接器都安裝在同一部電腦上,所以您不需要將 CA 憑證鏈結安裝在電腦上。

  5. 建立 BizTalk 應用程式的 FILE 傳送埠。 這是代表 WCF 服務的協調流程將傳送訂單要求輸出訊息的位置。

    1. 在 [BizTalk Server管理主控台] 中,展開[WcfMessageSecurity],以滑鼠右鍵按一下 [傳送埠],指向 [新增],然後按一下 [靜態單向傳送埠]。

    2. 在 [ 傳送埠屬性] 對話方塊的 [ 一般 ] 索引標籤的 [ 名稱 ] 文字方塊中,輸入 WcfMessageSecurity.OrderRequest.Send.FILE

    3. 在 [傳送埠屬性] 對話方塊的 [類型] 旁的 [傳輸] 區段中,從下拉式清單中選取[檔案],然後按一下 [設定]。

    4. 在 [ 檔案傳輸內容] 對話方塊的 [ 一般 ] 索引標籤上,輸入 C:\WCFMessageSecurity\OrderRequestOut[目的地資料夾 ] 文字方塊中,然後按一下 [ 確定]。

    5. 在 [傳送埠屬性]對話方塊的 [篩選] 索引標籤上,選取[BTS]。[屬性] 欄位的 ReceivePortName,輸入 WcfMessageSecurity.OrderRequest.Receive[值] 欄位,然後按一下 [確定]。 此篩選運算式會將來自用戶端的傳入 WCF 訊息路由傳送至 WcfMessageSecurity.OrderRequest.Receive 接收 埠至此傳送埠。

針對 BizTalk 應用程式測試 WCF 用戶端

  1. 在 BizTalk Server 管理主控台中,以滑鼠右鍵按一下[WcfMessageSecurity],然後按一下 [啟動]。 在 [ 開始 ] 對話方塊中,按一下 [開始]。

  2. 在BizTalk Server管理主控台中,依序展開 [平臺設定]、[主機實例]、以滑鼠右鍵按一下[BizTalkServerApplication] 或其他適當的主機實例,然後按一下 [重新開機]。

  3. 針對本逐步解說的工作資料夾,建立名為 C:\WCFMessageSecurity 的資料夾。 將逐步解說檔案解壓縮至此資料夾。

  4. 在 Visual Studio 中,開啟C:\WCFMessageSecurity 資料夾中的 WcfMessageSecurity.sln檔案。

  5. 在 Visual Studio 的 方案總管 中,展開[WcfClient],然後開啟Program.cs以檢閱。

    • 用戶端會將訊息傳送至您在上一個程式中建立的 WCF-NetTcp 接收位置。

    • 用戶端會使用 NetTcpBinding建立通道,然後將系結設定為使用用戶端認證類型的憑證。

    • 用戶端會設定端點行為,以使用您在先前程式中安裝的用戶端驗證憑證來進行用戶端驗證。

    • 類別 Program會實作IClientMessageInspectorIEndpointBehavior介面,以在命令提示字元顯示來自此用戶端的傳出 WCF 訊息。

  6. 在 Visual Studio 的 方案總管 中,以滑鼠右鍵按一下WcfMessageSecurity解決方案,然後按一下 [重建]。

  7. 在 Visual Studio 的 [ 錯] 功能表上,按一下 [ 啟動但不 偵錯] 以執行 WcfClient,將訊息傳送至 WCF-NetTcp 接收位置。 出現的命令提示字元會顯示執行結果。

    1. 在命令提示字元中,檢視訂單要求訊息。 請注意 OrderId 欄位和訊息的結構。

    2. 在命令提示字元中,移至 C:\WCFMessageSecurity\OrderRequestOut 資料夾,然後確定 WCF 用戶端傳送的訂單要求訊息隨即出現。

    3. 關閉命令提示字元。