選擇輸出匿名 TLS 憑證
適用版本: Exchange Server 2010 SP2, Exchange Server 2010 SP3
上次修改主題的時間: 2009-12-07
本主題說明 Microsoft Exchange Server 2010 中輸出匿名傳輸層安全性 (TLS) 憑證的選取程序。輸出匿名 TLS 憑證的選取會在以下案例中發生:
驗證 Edge Transport Server 和 Hub Transport Server 之間的 SMTP 工作階段
Hub Transport Server 之間的 SMTP 工作階段,目的在於只以公開金鑰加密
對於 Hub Transport Server 之間的通訊,會使用匿名 TLS 和憑證的公開金鑰來加密工作階段。在建立 SMTP 工作階段時,接收伺服器會初始化憑證選擇程序,以決定在 TLS 交涉時要使用的憑證。接收伺服器也會執行憑證選擇程序。如需該程序的相關資訊,請參閱輸入匿名 TLS 憑證的選擇。
從 Edge Transport Server 或 Hub Transport Server 傳送
在傳送伺服器上執行輸出匿名 TLS 憑證選取的所有步驟。下圖顯示此程序的步驟。
選擇輸出匿名 TLS 憑證
從 Hub Transport Server 或 Edge Transport Server 建立 SMTP 工作階段時,Microsoft Exchange 會呼叫程序來載入憑證。
附註: 在最初載入憑證期間,Edge Transport server role 和 Hub Transport server role 的輸出憑證選擇程序並不相同。下圖顯示每一個伺服器角色的起始點。 憑證載入程序視 SMTP 工作階段是從 Hub Transport Server 或從 Edge Transport Server 初始化而定。
在 Hub Transport Server 上 會執行下列檢查:
檢查工作階段連接的傳送連接器,查看是否有針對
ExchangeServer
設定 SmartHostAuthMechanism 內容。您可以使用 Set-SendConnector 指令程式,在傳送連接器上設定 SmartHostAuthMechanism 內容。您也可以在特定傳送連接器的 [設定智慧主機驗證設定] 頁面上,選取 [Exchange Server 驗證],將 SmartHostAuthMechanism 內容設為ExchangeServer
。若要開啟 [設定智慧主機驗證設定] 頁面,請在傳送連接器內容頁面的 [網路] 索引標籤上按一下 [變更]。檢查郵件的 DeliveryType 內容,以判斷值是否設為
SmtpRelayWithinAdSitetoEdge
。您可以使用格式清單引數 (| Format-List
) 執行 Get-Queue 指令程式,以檢視 DeliveryType 內容。下列兩個條件必須同時滿足。如果未啟用
ExchangeServer
作為驗證機制,或 DeliveryType 內容未設為SmtpRelayWithinAdSitetoEdge
,則傳送 Hub Transport Server 不會使用匿名 TSL,並且不會載入任何憑證。如果兩個條件都滿足,則憑證選擇程序會繼續執行步驟 3。
在 Edge Transport Server 上 會執行下列檢查:
檢查工作階段連接的傳送連接器,查看是否有針對
ExchangeServer
設定 SmartHostAuthMechanism 內容。如同本主題先前所述,您可以使用 Set-SendConnector 指令程式,在傳送連接器上設定 SmartHostAuthMechanism 內容。您也可以在特定傳送連接器的 [設定智慧主機驗證設定] 頁面上,選取 [Exchange Server 驗證],將 SmartHostAuthMechanism 內容設為ExchangeServer
。若要開啟 [設定智慧主機驗證設定] 頁面,請在傳送連接器內容頁面的 [網路] 索引標籤上按一下 [變更]。檢查工作階段連接的傳送連接器,以判斷 SmartHost 位址空間內容是否包含 "- -"。
下列兩個條件必須同時滿足。如果未啟用
ExchangeServer
作為驗證機制,或位址空間不含 "- -",則傳送 Edge Transport Server 不會使用匿名 TLS,並且不會載入任何憑證。如果兩個條件都滿足,則憑證選擇程序會繼續執行步驟 3。
Microsoft Exchange 會查詢 Active Directory,以擷取伺服器上憑證的指紋。伺服器物件上的 msExchServerInternalTLSCert 屬性會儲存憑證指紋。
如果無法讀取 msExchServerInternalTLSCert 屬性,或值為
null
,則 Microsoft Exchange 不會在 SMTP 工作階段中通告 X-ANONYMOUSTLS,並且不會載入任何憑證。附註: 在 Microsoft Exchange Transport 服務啟動期間,而非在 SMTP 工作階段期間,如果無法讀取 msExchServerInternalTLSCert 屬性,或值為 null
,則會在應用程式記錄檔中記錄事件識別碼 12012。如果找到指紋,憑證選擇程序會搜尋本機電腦憑證儲存區,找出符合指紋的憑證。如果找不到憑證,則伺服器不會通告 X-ANONYMOUSTLS,也不會載入憑證,且會在應用程式記錄檔中記錄事件識別碼 12013。
從憑證儲存區載入憑證之後,會檢查憑證是否已過期。憑證的 Valid to 欄位會與目前的日期和時間進行比較。如果憑證已過期,則會在應用程式記錄檔中記錄事件識別碼 12015。在此情況下,憑證選擇程序不會失敗,仍會繼續進行其餘檢查。
檢查憑證是否為本機電腦憑證儲存區中的最近一個憑證。進行此項檢查時,會建置潛在憑證網域的網域清單。網域清單的依據是下列電腦組態:
網域全名 (FQDN),例如 mail.contoso.com
主機名稱,例如 EdgeServer01
實體 FQDN,例如 EdgeServer01.contoso.com
實體主機名稱,例如 EdgeServer01
附註: 如果伺服器正在執行 Microsoft Windows 負載平衡,則會檢查以下登錄機碼,而不是 DnsFullyQualifiedDomainName 設定:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WLBS\Parameters\Interface\{GUID}\ClusterName
在建置網域清單之後,憑證選擇程序會執行搜尋,以在憑證儲存區中找出具有相符 FQDN 的所有憑證。憑證選取程序會以清單的形式列出所有合格的憑證。合格的憑證必須符合下列準則:
憑證是 X.509 第 3 版或更新版本的憑證。
憑證具備關聯的私密金鑰。
「主旨」或「主旨替代名稱」欄位包含在步驟 6 中擷取的 FQDN。
已針對安全通訊端層 (SSL)/TLS 用途啟用憑證。尤其,已使用 Enable-ExchangeCertificate 指令程式,對此憑證啟用 SMTP 服務。
從合格憑證中,根據下列順序選擇最佳憑證:
依最近的 Valid from 日期排序合格憑證。Valid from 是憑證上的第 1 版欄位。
使用此清單中找到的第一個有效的公開金鑰基礎結構 (PKI) 憑證。
如果找不到有效的 PKI 憑證,則會使用第一個自行簽署憑證。
決定最佳憑證之後,接著會進行另一項檢查,以判斷其指紋是否符合 msExchServerInternalTLSCert 屬性中儲存的憑證。如果憑證相符,則會針對 X-ANONYMOUSTLS 使用此憑證。如果不相符,則會在應用程式記錄檔中記錄事件識別碼 1037。但這不會導致 X-ANONYMOUSTLS 失敗。
© 2010 Microsoft Corporation. 著作權所有,並保留一切權利。