選擇輸出匿名 TLS 憑證
適用版本: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007
上次修改主題的時間: 2007-04-25
下列情況會需要選擇輸出匿名傳輸層安全性 (TLS) 憑證:
在 Edge Transport Server 和 Hub Transport Server 之間的簡易郵件傳送通訊協定 (SMTP) 工作階段,目的在於驗證
Hub Transport Server 之間的 SMTP 工作階段,目的在於只以公開金鑰加密
對於 Hub Transport Server 之間的通訊,會使用匿名 TLS 和憑證的公開金鑰來加密工作階段。但接下來的驗證是 Kerberos 驗證。在建立 SMTP 工作階段時,接收伺服器會初始化憑證選擇程序,以決定在 TLS 交涉時要使用的憑證。接收伺服器也會執行憑證選擇程序。如需該程序的相關資訊,請參閱輸入匿名 TLS 憑證的選擇。
本主題說明選擇輸出匿名 TLS 憑證程序。所有步驟都會在傳送伺服器上執行。下圖顯示此程序的步驟。
附註: |
---|
在最初載入憑證期間,Edge Transport server role 和 Hub Transport server role 的輸出憑證選擇程序並不相同。下圖顯示每一個伺服器角色的起點。 |
選擇輸出匿名 TLS 憑證
從 Hub Transport Server 傳送
從 Hub Transport Server 或 Edge Transport Server 建立 SMTP 工作階段時,Microsoft Exchange 會呼叫程序來載入憑證。
憑證載入程序視 SMTP 工作階段是從 Hub Transport Server 或從 Edge Transport Server 初始化而定。
在 Hub Transport Server 上 會執行下列檢查:
檢查工作階段連接的傳送連接器,查看是否有針對
ExchangeServer
設定 SmartHostAuthMechanism 內容。您可以使用 Set-SendConnector 指令程式,在傳送連接器上設定 SmartHostAuthMechanism 內容。您也可以在特定傳送連接器的 [設定智慧主機驗證設定] 頁面上,選取 [Exchange Server 驗證],將 SmartHostAuthMechanism 內容設為ExchangeServer
。若要開啟 [設定智慧主機驗證設定] 頁面,請在傳送連接器內容頁面的 [網路] 索引標籤上按一下 [變更]。檢查郵件的 DeliveryType 內容,以判斷值是否設為
SmtpRelayWithinAdSitetoEdge
。您可以使用格式清單引數 (| FL
) 來執行 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 版或更新版本的憑證。
憑證具備關聯的私密金鑰。
Subject 或 Subject Alternate Name 欄位包含在步驟 6 中擷取的 FQDN。
已針對安全通訊端層 (SSL)/TLS 用途啟用憑證。尤其,已使用 Enable-ExchangeCertificate 指令程式,對此憑證啟用 SMTP 服務。
從合格憑證中,根據下列順序選擇最佳憑證:
依最近的 Valid from 日期排序合格憑證。Valid from 是憑證上的第 1 版欄位。
使用此清單中找到的第一個有效的公開金鑰基礎結構 (PKI) 憑證。
如果找不到有效的 PKI 憑證,則會使用第一個自行簽署憑證。
決定最佳憑證之後,接著會進行另一項檢查,以決定其指紋是否符合 msExchServerInternalTLSCert 屬性中儲存的憑證。如果憑證相符,則會針對 X-AnonymousTLS 使用此憑證。如果不相符,則會在應用程式記錄檔中記錄事件識別碼 1037。但這不會導致 X-AnonymousTLS 失敗。
相關資訊
如需如何針對其他 TLS 案例選取憑證的相關資訊,請參閱下列主題: