瞭解 TLS 憑證

 

適用版本: Exchange Server 2010 SP2, Exchange Server 2010 SP3

上次修改主題的時間: 2016-11-28

在加密術語中,New-ExchangeCertificate 指令程式所產生的憑證及相關私密金鑰即為 TLS 金鑰。New-ExchangeCertificate 指令程式可讓您指定憑證的中繼資料,讓不同的服務可以使用相同的憑證及私密金鑰。在針對使用 TLS 的 Exchange 服務建立憑證或憑證要求之前,應先了解憑證用於 SSL 及 TLS 服務的中繼資料。在結果憑證中,此中繼資料被稱為「欄位」。

若要檢視特定電腦上的電腦憑證欄位,可以使用 Exchange 管理命令介面中的 Get-ExchangeCertificate 指令程式。或者,您也可以使用 Microsoft Management Console (MMC) 中的憑證管理員嵌入式管理單元。

要尋找與 TLS 憑證相關的管理工作嗎?請參閱 憑證

目錄

TLS 服務憑證所使用的欄位

憑證選擇

建立 TLS 憑證

參考

TLS 服務憑證所使用的欄位

如果您是使用 New-ExchangeCertificate 指令程式,從協力廠商或其他公開金鑰基礎結構 (PKI) 憑證授權單位 (CA) 來產生憑證要求,請務必確認該 CA 所需的憑證欄位及憑證格式為何。

本節說明最重要的憑證欄位,並提供產生憑證及憑證要求的一些最佳作法。

主旨名稱

TLS 憑證的 [主旨名稱] 是 DNS 感知服務所使用的欄位。[主旨名稱] 欄位會將憑證繫結至特定的伺服器或網域名稱。

主旨名稱是包含一或數個相對辨別名稱的 X.500 辨別名稱,亦稱為 RDN。下表列出常用來識別組織或伺服器實體的相對辨別名稱。

名稱 縮寫 類型 大小上限 頻率 最大值\憑證中的建議值\要求 主旨中的順序

國家/地區

C

ASCII

2

1\1

1

網域元件

DC

ASCII

255

很多

1

州或省

S

Unicode

128

1

2

位置

L

Unicode

128

1

3

組織

O

Unicode

64

1\1

4

組織單位

OU

Unicode

64

很多\很多

5

一般名稱

CN

Unicode

64

很多\1

6

「國家/地區」字碼為 ISO 3166-1 字碼。如需更多資訊,請參閱英文國家名稱及字碼元素(英文)

依慣例,「網域元件」與「國家/地區」互斥。最好是依「國家/地區」來參考名稱,或是依「網域名稱系統 (DNS)」名稱來參考名稱。另外請注意,「網域元件」的大小上限 (255 個字元) 是所有「網域元件」值的總數。

重要事項重要事項:
雖然憑證可以有多個一般名稱欄位,但是有些服務是建立在僅限一個一般名稱的假設上。因此,多個一般名稱會導致交互操作上的問題。建議您所建立的憑證或憑證要求只包含一個一般名稱。

指定相對辨別名稱

使用 New-ExchangeCertificate 指令程式建立憑證要求時,主旨名稱會以單一參數來表示,該參數是由一連串以逗點分隔的名稱所組成。每個名稱都會以相對辨別名稱的縮寫來識別。例如,下列主旨名稱表示國家/地區 = US,組織 = Contoso Corp,一般名稱 = mail1.contoso.com

-SubjectName "C=US o=contoso corp, CN=mail1.contoso.com"

可以用來表示相同伺服器的其他主旨名稱範例如下:

-SubjectName  "O=contoso corp, CN=mail1.contoso.com"
-SubjectName "DC=contoso, DC=com, CN=mail1.contoso.com"
-SubjectName "DC= contoso, DC=com, O=contoso corp, CN=mail1.contoso.com"

如果您已登錄一個用來傳送 SMTP 郵件的 DNS 名稱,最好是使用網域元件慣例及 DNS 名稱來指定憑證名稱,例如:DC=contoso、DC=com、CN=mail1.contoso.com。

但是當您針對 CA 提供者產生憑證要求時,必須了解 CA 的「主旨名稱」欄位需求,以及您特有的 PKI 需求。在某些情況下,您必須使用「國家/地區」字碼 ("C")。若是這種情況,則必須向 X.500 註冊授權單位登錄您的相對辨別名稱。

國際主旨名稱

若是含有非 ASCII 字元的主旨名稱,可以輸入 SubjectName 參數作為辨別名稱,並用引號括住該名稱,如以下所示:

-SubjectName"C=ES,O=Diversión de Bicicleta,CN=mail1.DiversiondeBicicleta.com"

主旨名稱及網域名稱

依慣例,一般名稱可包含網域全名 (FQDN)。雖然此作法相當普遍,但請注意以下兩個與此方法相關的問題。

首先,一般名稱欄位的大小上限為 64 個字元。這個字元數小於 FQDN 的大小上限。因此,對於超過 64 個字元的 FQDN,必須將網域名稱放在「主旨替代名稱」中。DomainName 參數是對應至結果憑證之「主旨替代名稱」的參數。

第二,FQDN 受限於 ASCII 字元集的子集。然而,一般名稱 (CN) 可支援 Unicode。因此,您可以用類似 DNS 名稱,但非有效 DNS 名稱的 CN,來建立有效的憑證。如果 CN 中包含非 ASCII 字元,則在憑證 CN 中尋找 FQDN 的軟體不會傳回正確的結果。例如,假設您用來建立憑證的「主旨名稱」包含 CN=mail.mïcrosoft.com,系統會將該名稱當作 FQDN 而忽略,因為該名稱中包含 Unicode 字元 (ï 字元含有變音符號 (x00ef))。Unicode CN 很容易被誤看成 FQDN,因為含有變音符號的 ï 字元 (x00ef) 與 ASCII i (x0069) 之間的差異很小。Exchange 憑證工作不會要求或強制主旨 CN 為有效的 FQDN。依預設,這表示該指令程式將伺服器的 FQDN 當作預設 CN 來包含。

憑證網域名稱

就 TLS 而言,憑證必須包含 DNS 名稱,因為 TLS 需依賴 DNS 解析。用戶端會用其預期連接的 DNS 名稱,來驗證其正在連接之伺服器的 DNS 名稱。透過 HTTPS 來連接網站的 Web 瀏覽器,以及透過網際網路或內部網路來傳輸電子郵件的 SMTP 伺服器,就是這種情形。

單一伺服器可以支援多個 DNS 名稱的原因如下:

  • SMTP 伺服器可支援多個公認的網域

  • 用戶端可依伺服器名稱、網域名稱、FQDN 本機名稱或負載平衡名稱來存取電子郵件伺服器。

建立 TLS 連線之後,如果用戶端找到其所尋找的名稱,就會忽略憑證中的其他名稱。您可以新增多個網域及伺服器名稱至 TLS 憑證的「主旨替代名稱」欄位中。您可以使用 New-ExchangeCertificate 指令程式的 DomainName 參數,建立含有多個「主旨替代名稱」的憑證。 DomainName 參數具有多重值,可接受多個名稱。

X.509 憑證可在「主旨替代名稱」(SubjectAltName) 憑證延伸中包含 0、1 或多個 DNS 名稱。SubjectAltName 延伸中的 DNS 名稱與 DNS 名稱的限制一模一樣。絕不能超過 255 個字元,且必須由 A-Z、a-z、0-9 及連字號 (-) 組成。

網域安全性功能的名稱比對邏輯

網域安全性功能的憑證名稱比對邏輯會在傳送郵件至該網域時,檢查收到憑證中的網域名稱是否符合該網域名稱。例如,請考慮收件者網域的 FQDN (woodgrovebank.com)。憑證名稱比對邏輯會搜尋憑證中所有的 DNS 名稱,而且只要有一個 DNS 名稱相符,就會將憑證確認為所指定網域的相符憑證。

在這個範例中,憑證名稱比對邏輯會接受具有確切網域相符的憑證,例如 woodgrovebank.com。它也支援在憑證中使用萬用字元網域名稱,以便能夠接受 DNS 名稱為 *.woodgrovebank.com 的憑證作為相符憑證。如需萬用字元網域名稱的相關資訊,請參閱本主題稍後的<萬用字元網域名稱>。

憑證名稱比對邏輯也會深入一個節點來搜尋 DNS。因此,也會接受 mail1.woodgrovebank.com 作為 woodgrovebank.com 的相符項目。然而,不接受深度超過兩個節點的 DNS 名稱。因此,例如,將不會接受 mail1.us.woodgrovebank.com 作為 woodgrovebank.com 的相符者。

網際網路 SMTP 網域名稱的最佳作法

當您針對透過網際網路來執行 SMTP TLS 的 Edge Transport Server 建立憑證或憑證要求時,應在要求中包含下列網域名稱組合:

  • 伺服器的完整網際網路網域名稱   這可能會和 Edge Transport Server 與 Hub Transport Server 之間所使用的內部 FQDN 不同,並應符合網際網路 (公用) DNS 伺服器上所公佈的 A 記錄。此名稱應輸入在 New-ExchangeCertificate 指令程式的 SubjectName 參數中當作 CN。

  • 組織的所有公認網域名稱   使用 New-ExchangeCertificate 指令程式的 IncludeAcceptedDomains 參數,填入結果憑證的「主旨替代名稱」。

  • 連接器的 FQDN (若上述項目中都沒有包含的話)   使用 New-ExchangeCertificate 指令程式的 DomainName 參數,填入結果憑證的「主旨替代名稱」。

萬用字元網域名稱

萬用字元網域名稱是代表多重子網域的特殊類型網域名稱。萬用字元網域名稱可簡化憑證,因為單一萬用字元網域名稱即可代表該網域的所有子網域。您可以在 DNS 節點上用星號字元 ( * ) 來表示。例如,*.contoso.com 代表 contoso.comcontoso.com 的所有子網域。當您使用萬用字元來建立所有公認網域的憑證或憑證要求時,可大幅簡化該要求。

憑證選擇

Exchange 會根據 SMTP 連線類型遵循不同的憑證選取程序。

當 Hub Transport Server 在您的組織中彼此互相通訊或與 Edge Transport Server 通訊時,會使用匿名 TLS 憑證。如需詳細資訊,請參閱輸入匿名 TLS 憑證的選擇選擇輸出匿名 TLS 憑證

當 SMTP 主機或用戶端連接至 Edge 或 Hub Transport Server 時,則會使用 STARTTLS 憑證選取程序。如需詳細資訊,請參閱選擇輸入 STARTTLS 憑證

建立 TLS 憑證

Exchange 2010 會在安裝期間建立一個自我簽署憑證,其會使用安裝 Exchange 時已知的所有伺服器及網域名稱。您可複製此憑證以在其他伺服器上使用。您也可以使用協力廠商 CA 所發行的憑證來取代此憑證。下列主題提供每個工作的逐步指示。

參考

如需密碼編譯及憑證技術和概念的相關資訊,請參閱下列出版品:

  • Windows Server 2008 PKI 和憑證安全性(英文)

  • Housley, Russ and Tim Polk.Planning for PKI:Best Practices Guide for Deploying Public Key Infrastructure.New York:John Wiley & Son, Inc., 2001.

  • Schneier, Bruce.Applied Cryptography:Protocols, Algorithms, and Source Code in C, 2nd Edition.New York:John Wiley & Son, Inc., 1996.

 © 2010 Microsoft Corporation. 著作權所有,並保留一切權利。