Microsoft Exchange Server 2007 使用證書來幫助保護(hù)許多電子郵件通信路徑的安全。本主題將全面介紹證書在 Exchange 2007 中的使用。
AD:
51CTO云計(jì)算架構(gòu)師峰會 搶票進(jìn)行中!Microsoft Exchange Server 2007 使用證書來幫助保護(hù)許多電子郵件通信路徑的安全。本主題將全面介紹證書在 Exchange 2007 中的使用。本主題包含的內(nèi)容有:
如何在 Exchange 2007 中使用證書。
如何確定是否應(yīng)購買第三方公用證書頒發(fā)機(jī)構(gòu) (CA) 頒發(fā)的證書以及何時只使用默認(rèn)的自簽名證書即可。
Exchange 2007 組件如何使用證書屬性以及證書屬性如何與 X.509 證書擴(kuò)展字段相關(guān)聯(lián)。
證書信任和驗(yàn)證。
如何創(chuàng)建、導(dǎo)入和啟用 Exchange 2007 證書。
Exchange 組件如何從“個人”計(jì)算機(jī)存儲中選擇證書。
本主題中的每一部分都包含與證書有關(guān)的 Exchange 2007 文檔的引用和鏈接。
致謝本部分內(nèi)容基本上是從技術(shù)支持工程師 Stuart Presley 收集并提供的 Microsoft 內(nèi)部說明和文檔改編的。
目錄
使用證書對會話進(jìn)行加密或身份驗(yàn)證的 Exchange 2007 組件如何確定何時使用公用 CA 頒發(fā)的證書以及何時使用自簽名證書了解證書屬性以及 Exchange 2007 如何使用這些證書屬性證書信任和驗(yàn)證創(chuàng)建、導(dǎo)入和啟用證書證書選擇詳細(xì)信息使用證書對會話進(jìn)行加密或身份驗(yàn)證的 Exchange 2007 組件
Exchange 2007 使用 X.509 證書與通信的傳輸層安全性 (TLS) 和安全套接字層 (SSL) 傳輸通道協(xié)商 HTTPS、SMTP、POP 以及 IMAP 等協(xié)議。
TLS 是 Internet 工程任務(wù)組 (IETF) 標(biāo)準(zhǔn)協(xié)議,可幫助在通過網(wǎng)絡(luò)進(jìn)行通信的兩個應(yīng)用程序之間實(shí)現(xiàn)通信私密性和安全性。TLS 對通信進(jìn)行加密,并使客戶端對服務(wù)器進(jìn)行身份驗(yàn)證,也可以使服務(wù)器對客戶端進(jìn)行身份驗(yàn)證。TLS 是 TLS 所基于的 SSL 協(xié)議的一個更安全的版本。SSL 以前由 Netscape 開發(fā)。兩個協(xié)議在功能上不相上下。大多數(shù)實(shí)現(xiàn)同時支持這兩個協(xié)議,以便與早期的純 SSL 客戶端向后兼容。
TLS 保護(hù)的通信可用于只實(shí)現(xiàn)機(jī)密性(加密),也可用于同時實(shí)現(xiàn)機(jī)密性和身份驗(yàn)證。X.509 證書可以是自行簽名(也稱為自行頒發(fā)),也可以由 X.509 CA 頒發(fā)。X.509 CA 是頒發(fā)證書的第三方公用證書頒發(fā)機(jī)構(gòu)或組織中部署的公鑰基礎(chǔ)結(jié)構(gòu) (PKI)。除非另有說明,否則本主題將上述兩種解決方案均稱為證書頒發(fā)機(jī)構(gòu) (CA)。第三方公用 CA 稱為公用 CA。
下面的 Exchange 2007 組件使用證書對會話進(jìn)行加密或身份驗(yàn)證:
SMTP使用證書進(jìn)行加密和身份驗(yàn)證,以實(shí)現(xiàn)合作伙伴組織之間的域安全性。對集線器傳輸服務(wù)器與邊緣傳輸服務(wù)器之間的直接信任連接使用證書。在集線器傳輸服務(wù)器之間使用證書來對 SMTP 會話進(jìn)行加密。在 Exchange 2007 中,“直接信任”是一項(xiàng)身份驗(yàn)證功能,Active Directory 目錄服務(wù)或 Active Directory 應(yīng)用程序模式 (ADAM) 目錄服務(wù)中存在證書,即證明證書有效。Active Directory 被視為受信任的存儲機(jī)制。還會對組織之間的機(jī)會型 TLS 會話使用證書。有關(guān)詳細(xì)信息,請參閱
Exchange 2007 中的 TLS 功能以及相關(guān)術(shù)語。
EdgeSync 同步在 Microsoft Exchange EdgeSync 服務(wù)將數(shù)據(jù)從 Active Directory 復(fù)制到邊緣傳輸服務(wù)器上的 ADAM 實(shí)例之后,將使用 Exchange 2007 創(chuàng)建的自簽名證書對邊緣傳輸服務(wù)器上的 ADAM 實(shí)例與內(nèi)部 Active Directory 服務(wù)器之間的 LDAP 通信進(jìn)行加密。自簽名證書是由其創(chuàng)建者簽署的證書。Microsoft Exchange EdgeSync 服務(wù)是定期將配置數(shù)據(jù)從 Active Directory 復(fù)制到已訂閱的邊緣傳輸服務(wù)器的數(shù)據(jù)同步服務(wù)。有關(guān)詳細(xì)信息,請參閱
了解 EdgeSync 同步進(jìn)程。
POP3 和 IMAP4使用證書對郵局協(xié)議版本 3 (POP3) 和 Internet 消息訪問協(xié)議版本 4rev1 (IMAP4) 客戶端與 Exchange 服務(wù)器之間的會話進(jìn)行身份驗(yàn)證和加密。有關(guān)詳細(xì)信息,請參閱
管理 POP3 和 IMAP4 服務(wù)。
統(tǒng)一消息使用證書對傳入集線器傳輸服務(wù)器以及統(tǒng)一消息 (UM) IP 網(wǎng)關(guān)和 Microsoft Office Communications Server 2007 的 SMTP 會話進(jìn)行加密。有關(guān)詳細(xì)信息,請參閱
了解統(tǒng)一消息 VoIP 安全性。
自動發(fā)現(xiàn)使用證書對客戶端與客戶端訪問服務(wù)器之間的 HTTP 路徑進(jìn)行加密。有關(guān)詳細(xì)信息,請參閱
白皮書:Exchange 2007 Autodiscover Service。
客戶端訪問應(yīng)用程序使用證書對客戶端訪問服務(wù)器與各種 HTTP 客戶端(諸如 Outlook Anywhere、Microsoft Outlook Web Access 以及支持 Microsoft Exchange ActiveSync 的設(shè)備)之間的路徑進(jìn)行加密。有關(guān)詳細(xì)信息,請參閱
管理客戶端訪問安全性。
有關(guān)如何對 Exchange 2007 中的每個數(shù)據(jù)路徑進(jìn)行加密和身份驗(yàn)證的詳細(xì)信息,請參閱
數(shù)據(jù)路徑安全性參考。
如何確定何時使用公用 CA 頒發(fā)的證書以及何時使用自簽名證書
本部分將簡要介紹 Exchange 2007 如何使用證書。閱讀本部分內(nèi)容之后,應(yīng)根據(jù)已啟用的 Exchange 組件以及要支持的客戶端,了解需要從公用 CA 購買哪種證書。本部分稍后還將針對較為技術(shù)性的內(nèi)容提供常用的上下文。
請注意,因?yàn)楸静糠种荚趲椭焖俅_定與公用 CA 有關(guān)的總體證書要求,所以內(nèi)容必須非常簡潔。為了簡潔起見,提供了證書和相關(guān)技術(shù)的許多概括性內(nèi)容,來說明證書在 Exchange 2007 中的使用。如果無法理解本部分提供的概念,請務(wù)必閱讀本主題中的其他所有內(nèi)容以及參考文檔。
通常情況下,任何使用 Kerberos、直接信任或 NTLM 身份驗(yàn)證的 Exchange 2007 組件都可以使用自簽名證書進(jìn)行加密。在本主題中,此類組件稱為內(nèi)部 Exchange 2007 組件?!皟?nèi)部”是指數(shù)據(jù)路徑在 Exchange 2007 服務(wù)器之間并且在 Active Directory 所定義的公司網(wǎng)絡(luò)內(nèi)。
建議只要您的用戶從公司防火墻外部訪問要求進(jìn)行身份驗(yàn)證和加密的 Exchange 組件,您就應(yīng)部署公用 CA 頒發(fā)的證書。例如,客戶端訪問服務(wù)器角色支持的所有不同客戶端(諸如 Exchange ActiveSync、POP3、IMAP4 和 Outlook Anywhere)均應(yīng)使用公用 CA 頒發(fā)的證書進(jìn)行保護(hù)。在本主題中,此類組件稱為外部 Exchange 2007 組件?!巴獠俊笔侵缚蛻舳伺c Exchange 2007 服務(wù)器之間的數(shù)據(jù)路徑穿過公司防火墻并且延伸到 Internet。
內(nèi)部組件使用自簽名證書
如上所述,Exchange 2007 中的許多組件都使用證書。通常情況下,所有通過證書保護(hù)的內(nèi)部 Exchange 數(shù)據(jù)路徑都不需要公用 CA 頒發(fā)的證書。
所有內(nèi)部 SMTP 和 UM 通信都通過在運(yùn)行 Exchange 2007 Server 安裝程序時安裝的自簽名證書進(jìn)行保護(hù)。盡管每年應(yīng)使用 New-ExchangeCertificate cmdlet 續(xù)訂這些證書,但是,不需要公用 CA 頒發(fā)的證書也可運(yùn)行默認(rèn)的內(nèi)部 Exchange 郵件組件。
注意:
Exchange 創(chuàng)建的自簽名證書在一年后過期。即使自簽名證書過期,依賴默認(rèn)自簽名證書的內(nèi)部組件仍會繼續(xù)運(yùn)行。但是,自簽名證書過期后,會在事件查看器中記錄事件。最佳做法是在過期之前續(xù)訂自簽名證書。
Exchange 2007 包括一組用于創(chuàng)建、申請和管理 TLS 證書的 cmdlet。有關(guān)這些 cmdlet 的詳細(xì)信息,請參閱本主題后面的
證書 Cmdlet。默認(rèn)情況下,這些證書為自簽名證書。如本主題前面所述,自簽名證書是由其創(chuàng)建者簽署的證書。在 Exchange 2007 中,自簽名證書是由運(yùn)行 Microsoft Exchange 的計(jì)算機(jī)使用基本 Windows 證書 API (CAPI) 創(chuàng)建的。因?yàn)樽C書是自簽名證書,所以此類證書的可信度通常要低于 CA 生成的證書。因此,建議只對下列內(nèi)部方案使用自簽名證書:
集線器傳輸服務(wù)器之間的 SMTP 會話:證書只用于對 SMTP 會話進(jìn)行加密。身份驗(yàn)證由 Kerberos 協(xié)議提供。
集線器傳輸服務(wù)器與邊緣傳輸服務(wù)器之間的 SMTP 會話:證書用于對 STMP 會話進(jìn)行加密以及用于進(jìn)行直接信任身份驗(yàn)證。
邊緣傳輸服務(wù)器與 Active Directory 之間的 EdgeSync 同步:在 Microsoft Exchange EdgeSync 服務(wù)將數(shù)據(jù)從 Active Directory 復(fù)制到邊緣傳輸服務(wù)器上的 ADAM 實(shí)例之后,使用證書對邊緣傳輸服務(wù)器上的 ADAM 實(shí)例與內(nèi)部 Active Directory 服務(wù)器之間的 LDAP 通信會話進(jìn)行加密。
統(tǒng)一消息通信:使用證書對 UM 服務(wù)器和 UM IP 網(wǎng)關(guān)、IP 專用交換機(jī) (PBX) 和運(yùn)行 Office Communications Server 2007 的計(jì)算機(jī)之間的會話初始協(xié)議 (SIP) 和實(shí)時傳輸協(xié)議 (RTP) 通信進(jìn)行加密。還會在將語音郵件或傳真郵件從 UM 服務(wù)器提交到集線器傳輸服務(wù)器時,使用證書對 SMTP 通信進(jìn)行加密。
僅供內(nèi)部客戶端訪問的客戶端訪問服務(wù)器。
外部客戶端訪問 Exchange 時需要公用 CA 頒發(fā)的證書
內(nèi)部 Exchange 組件可以依賴自簽名證書,因?yàn)檫@些證書不用于身份驗(yàn)證。大多數(shù) Exchange 組件的身份驗(yàn)證由 Kerberos 或 NTLM 提供。在邊緣傳輸服務(wù)器與集線器傳輸服務(wù)器之間的通信中,將使用直接信任身份驗(yàn)證。直接信任身份驗(yàn)證由證書提供,并且邊緣傳輸服務(wù)器的公鑰存儲在 Active Directory 中(Active Directory 是受信任的存儲)。否則,使用自簽名證書提供短周期密鑰,來對 Exchange 組件之間的數(shù)據(jù)路徑進(jìn)行加密。
但是,如果外部客戶端從 Internet 訪問 Exchange 所駐留的網(wǎng)絡(luò),則要求進(jìn)行傳統(tǒng)的證書信任驗(yàn)證。最佳做法是使用公用 CA 頒發(fā)的證書進(jìn)行信任驗(yàn)證。實(shí)際上,如果要求進(jìn)行證書身份驗(yàn)證,使用自簽名證書并不是最佳做法,強(qiáng)烈建議不要這樣做。對于下列情況,建議使用公用 CA 頒發(fā)的證書:
POP3 和 IMAP4 客戶端訪問 Exchange
Outlook Web Access
Outlook Anywhere
Exchange ActiveSync
自動發(fā)現(xiàn)
域安全性
上述所有情況的最佳做法是使用所有客戶端默認(rèn)情況下信任的公用 CA。
使用 New-ExchangeCertificate cmdlet 根據(jù)將頒發(fā)證書的第三方公用 CA 的規(guī)范生成證書請求。
有關(guān)詳細(xì)信息,請參閱下列主題:
New-ExchangeCertificate創(chuàng)建 TLS 證書或證書請求Exchange 2007 學(xué)習(xí)課程 - 通過第三方 CA 生成證書注意:
Wiki 和博客的內(nèi)容及其 URL 可能隨時更改,恕不另行通知。
本部分的剩余內(nèi)容將介紹這些相關(guān)信息:如何確定必須購買的公用證書類型,以及是否必須購買多個證書來幫助保護(hù)組織中用于訪問 Exchange 2007 的客戶端。
確定公用 CA 頒發(fā)的、適合您的部署的證書類型和證書數(shù)目
如何選擇相應(yīng)公用 CA 頒發(fā)的、適合您的組織的證書,具體要取決于下列因素:
客戶端對證書中的通配符名稱的支持請回答下列問題:將支持什么客戶端?如上所述,此上下文中的“客戶端”是指從 Internet 訪問 Exchange 的客戶端。
組織的命名空間如何配置面向 Internet 的 Internet Information Services (IIS) 命名空間?
證書來源將從哪里獲取證書?所選的公用 CA 是否支持在“Subject”或“Subject Alternative Name (SAN)”字段中使用通配符?如果不支持,是否支持使用 SAN?
下列各部分將更為深入地了解這些因素。
客戶端對證書中的通配符名稱的支持
通配符名稱可以在 X.509 證書的主題或 SAN 擴(kuò)展中使用。有關(guān)通配符名稱的詳細(xì)信息,請參閱本主題后面的
了解證書屬性以及 Exchange 2007 如何使用這些證書屬性中的“CertificateDomains”。
確定了組織將支持的客戶端之后,需要確定客戶端是否支持在服務(wù)器證書(客戶端要連接到的)中使用通配符名稱的證書。
如果客戶端支持在證書中使用通配符名稱,可以顯著簡化組織的總體證書規(guī)劃。如果所有客戶端均支持證書中的通配符名稱,并且組織使用單個域名,則不必考慮證書部署策略的命名空間規(guī)劃。可以創(chuàng)建一個支持包含通配符的命名空間的證書。例如,如果運(yùn)行 Outlook Web Access 的客戶端使用 mail.contoso.com/owa 訪問其郵件,而 POP3 客戶端使用 pop.contoso.com 訪問其郵件,通配符主題為 *.contoso.com 的單個證書將同時支持這兩個客戶端。
下列 Microsoft 客戶端支持證書中的通配符名稱:
Outlook
注意:
跨運(yùn)行客戶端訪問角色的 Exchange 服務(wù)器部署通配符證書時,自動發(fā)現(xiàn)設(shè)置需要一些配置以使 Outlook 2007 客戶端能夠連接成功。要了解有關(guān)此問題以及解決方法的詳細(xì)信息,請參閱
通配符證書導(dǎo)致 Outlook Anywhere 的客戶端連接問題。
Internet Explorer (Outlook Web Access)
Exchange 邊緣傳輸服務(wù)器(域安全性)
要點(diǎn):
如果證書中使用通配符名稱,運(yùn)行 Windows Mobile 5.0 的客戶端不支持到服務(wù)器的加密通道。
如果組織支持的客戶端不支持服務(wù)器證書中的通配符名稱,并且可支持多個客戶端命名空間,則必須
購買 SAN 擴(kuò)展中包含多個名稱(例如 mail.contoso.com、pop.contoso.com 和mobile.contoso.com)的證書。
為客戶端將連接到的命名空間中的每個實(shí)體購買一個證書。
規(guī)劃組織的命名空間
所有客戶端都需要連接到的 URL 或完全限定的域名 (FQDN)??蛻舳诉B接到的每個路徑必須與包含客戶端所連接到的主機(jī)的主機(jī)名、NetBIOS 名稱、FQDN 或公用名的有效證書相關(guān)聯(lián)。確定證書中要包含的名稱的列表就是“規(guī)劃命名空間”的過程。
通常情況下,對于支持許多不同客戶端并跨越包含多個服務(wù)器的多個區(qū)域的大型組織,規(guī)劃命名空間要比規(guī)劃小型組織的命名空間更加復(fù)雜。
必須了解如何規(guī)劃證書命名空間,以便了解用于幫助保護(hù) Exchange 2007 的入站連接的證書在 SAN 擴(kuò)展中要包含的主機(jī)名。
有關(guān)詳細(xì)信息,請參閱
了解 Exchange Server 2007 的命名空間規(guī)劃。
從哪里獲取證書
如上所述,對于外部客戶端訪問,建議從第三方公用 CA 購買證書。
在評估證書頒發(fā)機(jī)構(gòu)時,請考慮以下條件:
CA 是否允許在證書中使用通配符名稱?如果客戶端可以支持證書中的通配符名稱,從 CA 購買支持通配符名稱的證書是部署安全客戶端最簡單的方法。
CA 是否支持 SAN 擴(kuò)展?如果滿足下列條件,意味著需要使用支持 SAN 中的多個名稱的證書:
對于不支持證書中的通配符名稱的客戶端,必須提供支持。
有客戶端必須連接到的多個主機(jī)路徑。
Microsoft 與公用 CA 合作來提供統(tǒng)一通信證書。有關(guān)支持統(tǒng)一通信證書的 CA 的最新列表,請參閱 Microsoft 知識庫文章 929395
Exchange 2007 和 Communications Server 2007 的統(tǒng)一通信證書合作伙伴。
CA 是否提供高級別的真實(shí)性檢查?有些 CA 的開銷比較低,而有些 CA 每年則需要為證書花費(fèi)數(shù)百美元。由于您依賴該證書的完整性來驗(yàn)證組織的入站通信,所以建議您不要只根據(jù)成本的高低來選擇公用 CA。在做出決定之前,請認(rèn)真評估并比較每個 CA 提供的服務(wù)以及每個 CA 的信譽(yù)。
了解證書屬性以及 Exchange 2007 如何使用這些證書屬性
了解證書的各種屬性不僅有助于您了解 Exchange 如何使用證書,還有助于您規(guī)劃 Exchange 組織中的證書需要以及解決多種問題。
X.509 證書包含兩種屬性。
證書字段是 X.509 證書本身的簽名數(shù)據(jù)中的屬性。這些字段通過簽名保護(hù)完整性,如果不重新簽署或重新頒發(fā)證書,就無法更改它們的值。
證書屬性是屬于證書或私鑰的元數(shù)據(jù)的屬性。某些屬性是證書或私鑰固有的,例如證書的指紋。但是,許多屬性即使在證書不重新簽署的情況也可更改。
例如,您可以通過 Enable-ExchangeCertificate cmdlet 向創(chuàng)建的證書的屬性中添加服務(wù)??梢詥⒂米C書供 IIS(例如 Outlook Web Access 或 Exchange ActiveSync)、SMTP(例如直接信任或域安全性)、IMAP、POP 和統(tǒng)一消息使用。對證書啟用特定的服務(wù)可更新證書屬性。有關(guān)詳細(xì)信息,請參閱
Enable-ExchangeCertificate。
可以通過對給定證書運(yùn)行包含 |FL 參數(shù)的 Get-ExchangeCertificate cmdlet 來查看這些屬性。如果運(yùn)行的是 Exchange 2007 RTM,必須運(yùn)行包含 |FL* 參數(shù)的 cmdlet 來顯示所有屬性數(shù)據(jù)。
Get-ExchangeCertificate cmdlet 輸出中指定的某些字段和屬性將映射到 X.509 擴(kuò)展字段,您可以使用 Microsoft 管理控制臺 (MMC) 中的證書管理器來查看這些擴(kuò)展字段。有關(guān)證書管理器的詳細(xì)信息,請參閱
如何向 Microsoft 管理控制臺添加證書管理器。有關(guān) Get-ExchangeCertificate cmdlet 的詳細(xì)信息,請參閱
Get-ExchangeCertificate。
證書字段
如上所述,證書字段是 X.509 證書本身的簽名數(shù)據(jù)中的屬性。本部分介紹 Microsoft Exchange 服務(wù)使用的并顯示在 Get-ExchangeCertificate cmdlet 輸出中的證書字段。
其中某些字段還是在使用 New-ExchangeCertificate cmdlet 創(chuàng)建新的證書或證書請求時可以設(shè)置的參數(shù)。有關(guān) New-ExchangeCertificate cmdlet 的詳細(xì)信息,請參閱
New-ExchangeCertificate。
本部分中的每個證書字段將根據(jù) Get-ExchangeCertificate cmdlet 的輸出列出。本部分中的每個 Exchange 證書字段名將映射到 X.509 證書擴(kuò)展名。
Issuer
該字段包含標(biāo)識證書頒發(fā)者的公用名。Exchange 在安裝期間創(chuàng)建的或通過 New-ExchangeCertificate cmdlet 創(chuàng)建的自簽名證書會顯示 cn=hostname,其中 hostname 是本地服務(wù)器的名稱。
CA 頒發(fā)的證書通常在“Issuer”字段中顯示 CA 的完整公用名。
X.509 證書擴(kuò)展名也是 Issuer。
Issuer 字段沒有可以在 New-ExchangeCertificate cmdlet 中設(shè)置的相應(yīng)參數(shù)。Issuer 字段由頒發(fā)證書的實(shí)體指定。
Subject
該字段標(biāo)識證書的主題。Subject 是一個 X.500 字符串,通常代表用于訪問使用該證書的服務(wù)的單個名稱。New-ExchangeCertificate cmdlet 創(chuàng)建證書時,如果未顯式提供主題,Subject 將是在運(yùn)行 New-ExchangeCertificate cmdlet 時,DomainName 參數(shù)上列出的第一個值。下列 X.500 字段可能會出現(xiàn):
C = 國家/地區(qū)
ST = 省/市/自治區(qū)
L = 位置
O = 組織
OU = 組織單位
CN = 公用名
在為第三方 CA 生成證書請求時,其中某些字段是必需的。有關(guān) Subject 字段的詳細(xì)說明,請參閱
創(chuàng)建 TLS 證書或證書請求。
如果在 Exchange 前面運(yùn)行 Microsoft Internet Security and Acceleration (ISA) Server 2006 進(jìn)行橋接,請務(wù)必閱讀博客文章
包含多個 SAN 條目的證書可能會中斷 ISA Server Web 發(fā)布,了解有關(guān)主題名稱和 ISA Server 行為的詳細(xì)信息。
注意:
Wiki 和博客的內(nèi)容及其 URL 可能隨時更改,恕不另行通知。
Exchange 在沒有任何用戶參數(shù)的情況下生成自簽名證書時,將創(chuàng)建一個主題名稱為CN=hostname 的證書。
X.509 證書擴(kuò)展名也是 Subject。
通過在 New-ExchangeCertificate cmdlet 中指定 SubjectName 參數(shù),可以設(shè)置Subject 字段。
CertificateDomains
CertificateDomains 字段標(biāo)識與證書相關(guān)聯(lián)的所有 DNS 域名。DNS 域名可以在 Subject 的公用名 (cn=) 屬性中或證書的 SAN 擴(kuò)展中。Get-ExchangeCertificate cmdlet 的輸出顯示 Subject 字段中的域與 SAN 中發(fā)現(xiàn)的任何域的聯(lián)合。
在 CertificateDomains 字段中發(fā)現(xiàn)的值可能包含用于訪問服務(wù)器的主機(jī)名或 FQDN。若要使用證書,客戶端用于連接到服務(wù)器的 FQDN 必須出現(xiàn)在證書的 CertificateDomains 字段中。
例如,如果客戶端要使用 POP3 連接到服務(wù)器名稱為 mail.fourthcofee.com 的服務(wù)器,與 POP3 設(shè)置相關(guān)聯(lián)的證書可能在其 CertificateDomains 字段中包含 mail.fourthcofee.com。
您可能還會發(fā)現(xiàn)包含通配符名稱(諸如 *.fourthcofee.com)的證書。該域是可接受的域。但是應(yīng)注意,某些舊版客戶端和移動設(shè)備不支持證書中的通配符名稱,因此,可能不支持使用通配符域。
注意:
SAN 字段不會直接通過 Exchange 公布。只能在 MMC 的證書管理器中或通過 Internet Information Services (IIS) 管理器查看該字段。也可以在 IIS 管理器中查看綁定到網(wǎng)站上的證書,例如 IIS 用于 Outlook Web Access、Exchange ActiveSync 或自動發(fā)現(xiàn)的證書。
有關(guān)如何在證書中使用 SAN 和通配符名稱的詳細(xì)說明,請參閱
創(chuàng)建 TLS 證書或證書請求。此外,在 Exchange 工作組博客
Exchange 2007 學(xué)習(xí)課程:通過第三方 CA 生成證書 中,提供了有關(guān)如何創(chuàng)建包含多個 SAN 的證書請求的可行建議。
注意:
Wiki 和博客的內(nèi)容及其 URL 可能隨時更改,恕不另行通知。
X.509 證書擴(kuò)展名是 Subject Alternative Name,但是,如上所述,Get-ExchangeCertificate cmdlet 的輸出還會將 Subject 證書擴(kuò)展中包含的值添加到CertificateDomains 字段的名稱列表中。
通過指定 New-ExchangeCertificate cmdlet 的 DomainName 和 Subject 參數(shù),可以設(shè)置 CertificateDomains 字段。
NotBefore 和 NotAfter
NotBefore 和 NotAfter 字段中的值代表證書有效的日期范圍。如果當(dāng)前日期在NotAfter 日期之后,證書將被視為過期。Microsoft Exchange 仍可以使用過期證書,但是客戶端將生成警告,并且服務(wù)器將在事件日志中記錄相應(yīng)的事件。
映射到 NotBefore 值的 X.509 證書擴(kuò)展名是 Valid from。映射到 NotAfter 的 X.509 證書擴(kuò)展名是 Valid to。
NotBefore 和 NotAfter 字段沒有可以在 New-ExchangeCertificate cmdlet 中設(shè)置的相應(yīng)參數(shù)。這些字段由頒發(fā)證書的實(shí)體定義。通過 Exchange 安裝程序或 New-ExchangeCertificate cmdlet 生成的自簽名證書的有效期為一年。
CertificateRequest
只有仍處于申請狀態(tài)的證書中會出現(xiàn)該值。證書請求不是有效的 X.509 證書,因此,Exchange 不會使用。
通過指定 New-ExchangeCertificate cmdlet 的 GenerateRequest 參數(shù)開關(guān),可以啟用 CertificateRequest 字段。
證書屬性
如上所述,證書屬性是屬于證書或私鑰的元數(shù)據(jù)的屬性。某些屬性是證書或私鑰固有的(例如證書的指紋),但許多屬性即使在證書不重新簽署的情況也可更改。
除了 Thumbprint 屬性之外,沒有任何 Exchange 證書屬性與 X.509 證書擴(kuò)展相對應(yīng)。
本部分將介紹證書屬性。
IsSelfSigned
IsSelfSigned 屬性表示證書是否是自簽名證書。自簽名證書通常是根證書。該證書是證書鏈中沒有任何其他證書的證書。Exchange 中的自簽名證書通常是指下列類型的證書:
在不存在任何合格證書的服務(wù)器上安裝 Exchange 時生成的證書。
通過運(yùn)行 New-ExchangeCertificate cmdlet 生成的證書。
在安裝集線器傳輸服務(wù)器角色、邊緣傳輸服務(wù)器角色、統(tǒng)一消息服務(wù)器角色或客戶端訪問服務(wù)器角色時,通過 Exchange 安裝程序生成一個自簽名證書。如果主機(jī)計(jì)算機(jī)上的“個人”證書存儲中存在有效的證書,將使用現(xiàn)有證書,不會使用 Exchange 安裝程序生成的自簽名證書。有效值為 True 或 False。
RootCAType
RootCAType 屬性標(biāo)識頒發(fā)證書的 CA 的類型。如果將 IsSelfSigned 參數(shù)設(shè)置為True,RootCAType 屬性的值應(yīng)為 None。否則,證書可能會導(dǎo)致在證書選擇過程中出現(xiàn)意外的結(jié)果。其他可能的值如下:
Registry已手動安裝在證書存儲中的內(nèi)部私有 PKI 根 CA。
ThirdParty公用第三方根 CA。
GroupPolicy已使用組策略部署的內(nèi)部私有 PKI 根 CA。
Enterprise已使用 Active Directory 部署的內(nèi)部私有 PKI 根 CA。
UnknownExchange 無法確定所安裝的證書類型。
了解根 CA 證書如何安裝在計(jì)算機(jī)上可能會幫助您診斷不一致的信任策略。此類不一致現(xiàn)象可能會導(dǎo)致證書在某些服務(wù)器上有效,但是在其他服務(wù)器上無效。
例如,值為 Registry 表示某個用戶已在一臺服務(wù)器上手動安裝了證書。如果尚未在組織中的其他服務(wù)器上安裝該證書,這可能會導(dǎo)致不一致。建議使用組策略或 Active Directory 將證書分發(fā)到所有計(jì)算機(jī)。
Services
Services 屬性標(biāo)識可以使用該證書的服務(wù)。有效值為 SMTP、POP、IMAP、UM 和 IIS。
通過在 Enable-ExchangeCertificate cmdlet 中指定 Services 參數(shù),可以設(shè)置Services 字段中的值。有關(guān)詳細(xì)信息,請參閱
Enable-ExchangeCertificate。
Status
Status 屬性標(biāo)識證書是否有效。在解決證書問題時,Status 字段非常有幫助。如果給定證書的 Status 值不是 Valid,Exchange 服務(wù)器將不會對任何服務(wù)使用該證書。Status 屬性的值包括:
Unknown該狀態(tài)通常表示無法驗(yàn)證證書的狀態(tài),因?yàn)樽C書吊銷列表 (CRL) 不可用或此服務(wù)器無法連接到該證書吊銷列表。確保計(jì)算機(jī)可以連接到證書吊銷機(jī)構(gòu)。有關(guān)詳細(xì)信息,請參閱
如何為 WinHTTP 配置代理設(shè)置。
Valid證書工作正常。
RevokedCRL 表示該證書已被吊銷。必須生成新的證書。
DateInvalid該狀態(tài)表示系統(tǒng)時間不正確、證書已過期或簽署文件的系統(tǒng)的時間不正確。驗(yàn)證是否符合下列條件:
本地計(jì)算機(jī)時鐘是準(zhǔn)確的。
證書尚未過期。
發(fā)送系統(tǒng)時鐘是準(zhǔn)確的。
如果證書已過期,則必須生成新證書。
Untrusted該狀態(tài)表示證書不是自簽名證書。但是,已由本地計(jì)算機(jī)不信任的 CA 簽署。必須將該 CA 證書添加到計(jì)算機(jī)上的受信任根證書頒發(fā)機(jī)構(gòu)存儲中。有關(guān)如何手動向本地證書存儲添加證書的詳細(xì)信息,請參閱 MMC 中證書管理器的幫助文件。
Invalid某個其他問題已使該證書失效,例如證書路徑的某個位置存在不受信任的、無效的或已吊銷的證書。
有關(guān)疑難解答的詳細(xì)信息,請參閱下列主題:
如何糾正證書驗(yàn)證錯誤如何測試 PKI 和代理配置如何為 WinHTTP 配置代理設(shè)置 HasPrivateKey
HasPrivateKey 屬性表示所安裝的證書是否包含私鑰。這一點(diǎn)非常重要,因?yàn)?Microsoft Exchange 傳輸服務(wù)、Microsoft Exchange POP3 服務(wù)和 Microsoft Exchange IMAP4 服務(wù)不會使用沒有私鑰的證書。
Thumbprint
Thumbprint 屬性是用于標(biāo)識證書的唯一字符串。如果在多個 Exchange 服務(wù)器上安裝相同的證書,可以通過指紋標(biāo)識證書。如果多個邊緣傳輸服務(wù)器要接受具有相同 FQDN(例如mail.fourthcoffee.com)的郵件,通常會在多個 Exchange 服務(wù)器上安裝相同的證書。在多個服務(wù)器上安裝相同的證書比為每個服務(wù)器申請新證書更加經(jīng)濟(jì)。但是,證書必須包含可導(dǎo)出的私鑰。
Thumbprint 屬性用于指定下列 cmdlet 的證書:
Get-ExchangeCertificateRemove-ExchangeCertificateExport-ExchangeCertificateEnable-ExchangeCertificate映射到 Thumbprint 屬性的 X.509 證書擴(kuò)展名也是 Thumbprint。
證書信任和驗(yàn)證
若要使用證書進(jìn)行身份驗(yàn)證,必須驗(yàn)證并信任該證書。
若要驗(yàn)證給定的 X.509 證書,必須信任頒發(fā)證書的根 CA。根 CA 是最受信任的 CA。該 CA 在 CA 的頂部。根 CA 具有自簽名證書。運(yùn)行依賴于證書身份驗(yàn)證的應(yīng)用程序時,每個證書的證書鏈必須在本地計(jì)算機(jī)的受信任根容器中的證書結(jié)束。受信任根容器包含根 CA 頒發(fā)的證書。
證書通過另一個證書鏈接到 CA。該證書也可能是由某個 CA 頒發(fā)的,因此會鏈接到該 CA。該證書鏈也稱為“證書路徑”。證書路徑中的每個證書必須都有效,證書才能有效。此外,證書鏈頂部的證書必須是受信任的根 CA。
可以使用兩種類型的受信任根 CA 實(shí)現(xiàn)依賴證書身份驗(yàn)證的應(yīng)用程序:第三方公用根 CA 和私有根 CA。
第三方公用根證書頒發(fā)機(jī)構(gòu)
Windows、Windows Mobile 和各種第三方操作系統(tǒng)包括一組內(nèi)置的第三方公用根 CA。如果信任由這些第三方公用根 CA 頒發(fā)的證書,則可以驗(yàn)證由這些 CA 頒發(fā)的證書。
如果符合下列條件,則自動信任:
組織使用默認(rèn) Windows 安裝,
組織中使用的客戶端軟件和移動設(shè)備也信任內(nèi)置的第三方公用根 CA,
在這種情況下,不需要進(jìn)行其他信任配置。
私有受信任的根證書頒發(fā)機(jī)構(gòu)
私有受信任的根 CA 是已通過私有 PKI 或內(nèi)部 PKI 部署的根 CA。例如,組織部署了包含其自己的根證書的內(nèi)部 PKI 后,必須進(jìn)行其他信任配置。
通常情況下,最好不要對支持傳入組織的外部連接的客戶端應(yīng)用程序使用私有 PKI 頒發(fā)的證書。
使用私有根 CA 時,必須更新所有要求進(jìn)行證書身份驗(yàn)證的設(shè)備、客戶端和 Windows 操作系統(tǒng)上的 Windows“受信任的根”證書存儲。
可以使用兩種方法配置信任:直接根信任和交叉證書。
直接根信任
如果需要信任某個已由私有根 CA 頒發(fā)的證書,可以手動將該根證書添加到運(yùn)行 Windows 的計(jì)算機(jī)上的“受信任的根”證書存儲中。在某些情況下,還可以將根證書添加到移動客戶端的受信任根存儲中。有關(guān)如何手動向運(yùn)行 Windows 的計(jì)算機(jī)上的本地證書存儲添加證書的詳細(xì)信息,請參閱 MMC 中證書管理器的幫助文件。有關(guān)如何在 Windows Mobile 設(shè)備上安裝證書的詳細(xì)信息,請參閱
如何在基于 Windows Mobile 的設(shè)備上安裝根證書。
要點(diǎn):
可能無法在用戶將用于訪問 Exchange 的所有計(jì)算機(jī)和設(shè)備上安裝證書。例如,某些用戶可能會嘗試從網(wǎng)亭或朋友的計(jì)算機(jī)訪問 Outlook Web Access。在這種情況下,用戶將收到警告,但是不會阻止用戶訪問自己的郵件。這實(shí)際上是在縱容用戶忽略證書警告,所以不是最佳做法。因此,最佳做法是使用受信任的第三方 CA 頒發(fā)的證書。
交叉證書
當(dāng)一個 CA 簽署由另一個 CA 生成的證書時,將出現(xiàn)交叉證書。交叉證書使用一個 PKI 構(gòu)建對另一個 PKI 的信任。如果已擁有自己的 PKI,即不必對另一個私有 PKI 的根 CA 使用直接手動信任,可以為根 CA 下的其他 CA 創(chuàng)建交叉證書。在這種情況下,會由于交叉證書最終將鏈回到受信任根 CA 而建立信任。
配置對證書吊銷列表的訪問權(quán)限
特定服務(wù)(例如 SMTP/TLS 方案中的 Microsoft Exchange 傳輸服務(wù)或 HTTP 方案中的 IIS)在檢索證書時將驗(yàn)證證書鏈和證書。證書驗(yàn)證是一個確認(rèn)證書的許多屬性的過程。其中的大部分屬性可以在本地計(jì)算機(jī)上由申請?jiān)撟C書的應(yīng)用程序進(jìn)行確認(rèn)。例如,該證書的預(yù)期用法、過期日期以及類似的屬性都可以在 PKI 上下文以外進(jìn)行驗(yàn)證。但是,對尚未吊銷的證書的驗(yàn)證必須通過頒發(fā)該證書的 CA 進(jìn)行驗(yàn)證。因此,大部分 CA 制作了公開的證書吊銷列表 (CRL),用來驗(yàn)證吊銷狀態(tài)。
為成功使用證書進(jìn)行身份驗(yàn)證,所使用的 CA 的 CRL 必須可供對客戶端進(jìn)行身份驗(yàn)證的服務(wù)使用。如果吊銷檢查失敗,身份驗(yàn)證服務(wù)也將失敗。
身份驗(yàn)證服務(wù)器必須可以訪問外部 CA 的 CRL。
所有公用 CA 都包含組織服務(wù)器可以聯(lián)系的公開 CRL。在某些情況下,私有內(nèi)部 PKI 的 CRL 僅適用于輕型目錄訪問協(xié)議 (LDAP)。大多數(shù)情況下,對于公用 CA,其 CRL 是使用 HTTP 進(jìn)行發(fā)布的。確保配置了適當(dāng)?shù)某稣径丝诤痛?,以允許服務(wù)器和客戶端與 CRL 聯(lián)系。通過在 MMC 中打開證書并查看 CRL Distribution Points 字段,可確定給定 CRL 分發(fā)點(diǎn)接受的協(xié)議。
在某些情況下,可能需要公開頒發(fā)證書的 CA 的 CRL。例如,如果要部署域安全性,必須了解的是,即使邊緣傳輸服務(wù)器從您自己的組織檢索證書,也可以驗(yàn)證證書鏈來驗(yàn)證證書。因此,您的 CA 的 CRL 必須可供您自己的邊緣服務(wù)器使用。另外,您與之交換域安全電子郵件的所有合作伙伴都必須能夠訪問頒發(fā)證書的 CA 的 CRL。
配置 WinHTTP 的代理設(shè)置
Exchange 2007 服務(wù)器依賴基本的 Windows HTTP Services (WinHTTP) 管理所有 HTTP 和 HTTPS 通信。例如,集線器傳輸服務(wù)器和邊緣傳輸服務(wù)器可以使用 HTTP 訪問對 Exchange 2007 標(biāo)準(zhǔn)反垃圾郵件篩選器更新和 Microsoft Forefront Security for Exchange Server 反垃圾郵件更新服務(wù)的更新。所有 Exchange 服務(wù)器角色將使用 WinHTTP 啟用 CRL 驗(yàn)證。
有關(guān)詳細(xì)信息,請參閱
如何為 WinHTTP 配置代理設(shè)置。
測試 PKI 和代理配置
若要驗(yàn)證特定 Exchange 服務(wù)器的 PKI 和代理配置,請使用 Certutil.exe 驗(yàn)證服務(wù)器證書的證書鏈。Certutil.exe 是一個命令行工具,在 Windows Server 操作系統(tǒng)中作為證書服務(wù)的一部分安裝。有關(guān)詳細(xì)信息,請參閱
如何測試 PKI 和代理配置。
創(chuàng)建、導(dǎo)入和啟用證書
可以通過多種方式獲取在 Exchange 2007 上安裝并使用的證書。您可以根據(jù)自己的需要來選擇要使用的方法。Exchange 2007 可生成一組自簽名證書,以保護(hù)默認(rèn)配置。應(yīng)在特定時間續(xù)訂證書以幫助確保系統(tǒng)的安全。Exchange 不會自動生成要證書頒發(fā)機(jī)構(gòu)簽署證書的請求。無論是希望創(chuàng)建新的自簽名證書還是創(chuàng)建證書頒發(fā)機(jī)構(gòu)的證書請求,兩種方法都將使用相同的 cmdlet。
本部分概要介紹了可以對 Exchange 2007 所使用的證書執(zhí)行的操作。如果對ExchangeCertificate cmdlet 不是很了解,請閱讀本部分的內(nèi)容。特定的應(yīng)用程序示例和步驟將在本文檔后面的部分中提供,并以 POP3 為例。本部分還提供特定應(yīng)用程序文檔的鏈接。
證書 Cmdlet
在早期版本的 Exchange Server 中,所有證書管理均通過 IIS 和 MMC 中的證書管理器來完成。在 Exchange 2007 中,通過在 Exchange 命令行管理程序中使用下列ExchangeCertificate cmdlet,可以執(zhí)行大多數(shù)與 Exchange 有關(guān)的證書管理任務(wù):
New-ExchangeCertificate此 cmdlet 可生成自簽名證書和證書頒發(fā)機(jī)構(gòu)的證書請求。
Import-ExchangeCertificate此 cmdlet 可導(dǎo)入以前導(dǎo)出的證書并導(dǎo)入 CA 生成的證書文件。
Export-ExchangeCertificate此 cmdlet 可導(dǎo)出證書,以便進(jìn)行備份或在多個服務(wù)器上使用。
Enable-ExchangeCertificate此 cmdlet 可對證書啟用特定的服務(wù)。
Get-ExchangeCertificate此 cmdlet 可顯示證書的屬性。
Remove-ExchangeCertificate此 cmdlet 可將證書從 Exchange 服務(wù)器和本地證書存儲中刪除。
有關(guān)如何創(chuàng)建證書頒發(fā)機(jī)構(gòu)的證書請求的詳細(xì)信息,請參閱
創(chuàng)建 TLS 證書或證書請求。
下列各部分提供的簡短示例用于說明如何使用 ExchangeCertificate cmdlet 執(zhí)行常見的證書任務(wù)。有關(guān)詳細(xì)信息和示例,請參閱
全局 Cmdlet 中的 ExchangeCertificate cmdlet 幫助。
生成自簽名證書
若要生成自簽名證書,以供主機(jī)名為 Server1、域?yàn)?nbsp;fourthcoffee.com 的服務(wù)器的 SMTP 服務(wù)使用,請運(yùn)行以下命令:
New-ExchangeCertificate -DomainName "server1.fourthcoffee.com", "server1" -Services "SMTP"
克隆自簽名證書
如果現(xiàn)有的自簽名證書需要續(xù)訂,可以通過運(yùn)行以下命令克隆該證書:
Get-ExchangeCertificate <thumbprint> | New-ExchangeCertificatethumbprint 占位符是要續(xù)訂的證書的指紋。還可以在以下命令中指定新證書的服務(wù):
Get-ExchangeCertificate <thumbprint> | New-ExchangeCertificate -Services SMTP,POP,IMAP然后,可以通過運(yùn)行以下命令啟用該證書:
Enable-ExchangeCertificate <thumbprint>
創(chuàng)建證書請求并安裝受信任的證書
安裝公用第三方證書的過程比較復(fù)雜。必須生成證書請求,導(dǎo)入頒發(fā)的證書以及所有必要的 CA 證書,然后使頒發(fā)的證書發(fā)揮其預(yù)期用途。
本部分舉例說明如何對證書啟用 POP3 服務(wù)。在該示例中,客戶端通過連接到 FQDNpopserver.fourthcoffee.com,連接到 POP3 服務(wù)。
證書請求
因?yàn)樯傻淖C書來自于公用第三方 CA,所以必須先通過運(yùn)行以下命令生成證書請求:
New-ExchangeCertificate -DomainName popserver.fourthcoffee.com -SubjectName "c=us,o=contoso corp, cn=popserver.fourthcoffee.com" -PrivateKeyExportable:$True -GenerateRequest:$True -Path "C:\CertRequest.req"如果證書請求已正確生成,將在系統(tǒng)驅(qū)動器的根目錄中創(chuàng)建證書請求文件 (.cer 或 .der),并且 Exchange 命令行管理程序?qū)@示請求的指紋。
注意:
提供商返回的證書將支持證書請求文件使用的不同擴(kuò)展名,諸如 .der 或 .cer。這些擴(kuò)展名代表證書文件中使用的編碼方法。默認(rèn)情況下,New-ExchangeCertificate 請求將創(chuàng)建 Base64 編碼的文件 (.cer)。使用 BinaryEncoded 參數(shù)開關(guān)來創(chuàng)建 .der 文件。
在先前的命令中,PrivateKeyExportable 參數(shù)設(shè)置為 $True,這樣該證書可以隨私鑰一起導(dǎo)出,以便在可能需要使用相同 FQDN 訪問的多個 Exchange 服務(wù)器上使用。例如,多個客戶端訪問服務(wù)器可能會進(jìn)行負(fù)載平衡,以支持 POP3 連接。
注意:
PrivateKeyExportable 參數(shù)是可選的。只有在生成受信任 CA 的證書請求時,才應(yīng)指定該參數(shù)。通過將 PrivateKeyExportable 參數(shù)設(shè)置為 $True,可以移動并存檔證書以及相關(guān)聯(lián)的密鑰。不必使用自簽名證書即可執(zhí)行該操作。
先前的命令還將 Subjectname 參數(shù)指定為 X.500 名稱。大多數(shù)第三方 CA 要求為證書的主題名稱指定有效的 X.500 名稱。大多數(shù) CA 至少要求 organizationName (o=) 字段中列出的組織擁有 Web 服務(wù)器的 commonName (cn=) 中出現(xiàn)的域名。
請求完成后,可以將請求文件提交給證書供應(yīng)商以獲取證書。
注意:
Get-ExchangeCertificate cmdlet 返回證書以及仍在申請的證書。為了區(qū)分這兩種證書,證書請求包含 CertificateRequest 屬性,用于顯示證書請求文件中存儲的輸出。如果意外地刪除了證書請求文件或在沒有該參數(shù)的情況下生成請求,上述輸出可能很有用。CertificateRequest 數(shù)據(jù)是 base64 編碼的數(shù)據(jù),可以復(fù)制到文件中并發(fā)送給 CA 以申請證書。
導(dǎo)入證書
CA 返回證書后,您必須將證書導(dǎo)入到 Exchange 服務(wù)器。若要正確導(dǎo)入使用 New-ExchangeCertificate cmdlet 生成其請求的證書,請運(yùn)行以下命令:
Import-ExchangeCertificate -Path "C:\CertificateFile.cer"如果證書已成功導(dǎo)入,該命令將返回可用于啟用特定服務(wù)的證書指紋。
要點(diǎn):
必須將證書導(dǎo)入到生成證書請求的同一臺計(jì)算機(jī)上。此外,不要使用 MMC 中的證書管理器導(dǎo)入 Exchange 證書。
啟用證書
啟用證書后,可以指定使用特定證書的服務(wù)。以下命令用于對頒發(fā)的證書啟用 POP3 服務(wù):
Enable-ExchangeCertificate <thumprint> -Services:"POP"可以通過運(yùn)行以下命令同時導(dǎo)入和啟用證書:
Import-ExchangeCertificate -Path "C:\CertificateFile.cer" | Enable-ExchangeCertificate -Services:"POP"
驗(yàn)證證書安裝
若要確認(rèn)所有必要的步驟是否已完成以及證書是否已安裝并使用,請運(yùn)行以下命令:
Get- ExchangeCertificate <thumbprint> | fl *
注意:
如果運(yùn)行的是 Exchange 2007 SP1 或更高版本,不要在命令參數(shù)中包含星號 (*)。
該命令的輸出返回的數(shù)據(jù)類似于以下內(nèi)容:
AccessRules : {System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule,System.Security.AccessControl.CryptoKeyAccessRule}CertificateDomains : {popserver.fourthcoffee.com, fourthcoffee.com}HasPrivateKey : TrueIsSelfSigned : FalseIssuer : CN=3rdPartyCAExample.comNotAfter : 8/7/2008 10:04:02 AMNotBefore : 8/7/2007 10:04:02 AMPublicKeySize : 2048RootCAType : ThirdPartySerialNumber : 83FAE8B2398F2A9E44485CBA85D548DFServices : POPStatus : ValidSubject : C=us,o=contoso corp, CN=fourthcoffee.com Thumbprint : 257C327A164ED8A6FCDAFCA7789D29B60369DCA7檢查該命令的輸出,以驗(yàn)證下列信息是否正確:
期望存在的域名在 CertificateDomains 字段中列出。
HasPrivateKey 屬性設(shè)置為 True。
RootCAType 屬性已正確設(shè)置。有關(guān) RootCAType 屬性的詳細(xì)信息,請參閱本文檔前面的
證書屬性。
對證書啟用所需的服務(wù)。
“狀態(tài)”設(shè)置為 Valid。
證書服務(wù)
可以對證書啟用諸如 POP、IMAP、IIS 和 SMTP 等服務(wù)。服務(wù)不是證書本身中的字段,而是證書的元數(shù)據(jù)屬性。因此,不必使證書失效即可進(jìn)行更改。
啟用服務(wù)后,將對其他組件(例如在 IIS 元數(shù)據(jù)庫中)、文件系統(tǒng)或 IMAP4 和 POP3 設(shè)置進(jìn)行配置更改。本部分將介紹在通過運(yùn)行 Enable-ExchangeCertificate cmdlet 啟用給定的服務(wù)時進(jìn)行的配置更改。
POP 和 IMAP
將 POP 和 IMAP 作為附加服務(wù)添加到證書中時,POPSettings 對象或 IMAPSettings 對象的 x509CertificateName 屬性將進(jìn)行更新,以使該域包含在證書主題中。
例如,若要驗(yàn)證 POPSettings 對象是否已更新,請運(yùn)行以下命令:
Get-POPSettings | fl *
注意:
如果運(yùn)行的是 Exchange 2007 SP1 或更高版本,不要在命令參數(shù)中包含星號 (*)。
IIS
啟用 IIS 時,默認(rèn) IIS 網(wǎng)站將更新為使用該特定證書。
只能通過對默認(rèn) IIS 網(wǎng)站使用 Enable-ExchangeCertificate cmdlet,為證書啟用 IIS。如果要駐留 Outlook Web Access 或自動發(fā)現(xiàn)的網(wǎng)站不是默認(rèn) IIS 網(wǎng)站,必須使用 IIS 管理器將特定證書與這些網(wǎng)站相關(guān)聯(lián)。
SMTP
對證書啟用 SMTP 服務(wù)時,將對網(wǎng)絡(luò)服務(wù)帳戶授予到 Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys 目錄中的相應(yīng)私鑰文件的讀取訪問權(quán)限。該操作可提供 Microsoft Exchange 傳輸服務(wù)訪問和使用私鑰來解密 TLS 保護(hù)的郵件時所需的權(quán)限。
Microsoft Exchange 統(tǒng)一消息服務(wù)
對證書啟用 Microsoft Exchange 統(tǒng)一消息服務(wù)時,證書屬性將更新為包含統(tǒng)一消息。如果符合下列條件,將使用證書:
統(tǒng)一消息服務(wù)器角色已安裝在計(jì)算機(jī)上。
證書的 CertificateDomains 證書字段中包含本地計(jì)算機(jī)的物理 FQDN。
證書選擇
證書選擇是 Exchange 組件為確定應(yīng)用于傳入連接的證書而執(zhí)行的過程。SMTP STARTTLS、POP3 和 IMAP4 都需執(zhí)行類似的選擇過程來確定要用于特定會話的證書。該過程是非常明確的,但也可能會產(chǎn)生混淆,尤其在計(jì)算機(jī)上安裝了多個證書時更是如此。
本部分將介紹 SMTP STARTTLS、SMTP X-AnonymousTLS、POP3 和 IMAP4 的證書選擇過程。有關(guān)傳輸特定的證書選擇的詳細(xì)信息,請參閱
SMTP TLS 證書選擇。
SMTP STARTTLS
STARTTLS 是啟動安全 TLS 會話的 SMTP 動詞。只有運(yùn)行 Exchange 的計(jì)算機(jī)上存在有效的證書時,Exchange 才會公布 STARTTLS。
為了公布或使用 STARTTLS,Exchange 將根據(jù) FQDN 選擇證書并在證書的CertificateDomains 字段中選擇一個匹配值。FQDN 基于下列信息:
出站 STARTTLS根據(jù)發(fā)送連接器上的 FQDN 值選擇證書。
入站 STARTTLS根據(jù)接收連接器上的 FQDN 值選擇證書。
注意:
對于出站 STARTTLS 和入站 STARTTLS,如果未指定連接器的 FQDN,Exchange 服務(wù)器的物理 FQDN 將用于該匹配。
確定了 FQDN 后,Exchange 將在主機(jī)計(jì)算機(jī)上的“個人”證書存儲中搜索所有有效的證書。如果滿足下列所有要求,證書則可用于 TLS:
Enhanced Key Usage 字段包含服務(wù)器身份驗(yàn)證對象標(biāo)識符(也稱為 OID)或?yàn)榭铡?div style="height:15px;">
在大多數(shù)情況下,與自簽名證書相比,無論證書期限如何,Exchange 都會優(yōu)先選擇受信任的 CA 頒發(fā)的證書。如果未發(fā)現(xiàn)有效的證書,則不會公布 STARTTLS。
X-AnonymousTLS 用于幫助保護(hù)兩個集線器傳輸服務(wù)器之間以及集線器傳輸服務(wù)器與邊緣傳輸服務(wù)器之間的通信。在 Exchange 2007 SP1 中,證書選擇過程已得到簡化,如果未找到任何證書,將為會話生成一個臨時加密密鑰。
因此,對于使用 Kerberos 協(xié)議進(jìn)行身份驗(yàn)證的集線器傳輸服務(wù)器之間的通信,即使沒有有效的內(nèi)部傳輸證書,SMTP 會話也不會失敗。SMTP 會話使用臨時加密密鑰進(jìn)行加密。在這種情況下,將記錄事件,并且必須在生成該事件的計(jì)算機(jī)上運(yùn)行沒有參數(shù)的 New-ExchangeCertificate cmdlet,以創(chuàng)建新的內(nèi)部傳輸證書。
對于集線器傳輸服務(wù)器到邊緣傳輸服務(wù)器的通信,如果為組織訂閱了邊緣傳輸服務(wù)器,并且未找到有效的內(nèi)部傳輸證書,會話將失敗,并記錄錯誤。在這種情況下,必須在生成該事件的計(jì)算機(jī)上運(yùn)行沒有參數(shù)的 New-ExchangeCertificate cmdlet,然后再次運(yùn)行 Microsoft Exchange EdgeSync 服務(wù)。
與 SMTP STARTTLS 的證書選擇過程相同,在 POP3 和 IMAP4 的證書選擇過程中,Exchange 必須選擇 FQDN 并根據(jù) CertificateDomains 字段中的匹配值找到證書。根據(jù) POP3 或 IMAP4 服務(wù)設(shè)置中的 X509CertificateName 屬性選擇 FQDN??梢酝ㄟ^運(yùn)行 Get-POPSettings cmdlet 或 Get-IMAPSettings cmdlet,查看 X509CertificateName 屬性。有關(guān)詳細(xì)信息,請參閱
在 Exchange 2007 RTM 中,POP3 和 IMAP4 的證書選擇過程中主要有兩個例外情況。受信任的 CA 頒發(fā)的證書并不優(yōu)先于自簽名證書。Exchange 2007 將選擇最新的證書。此外,在 Exchange 2007 RTM 中,POP3 和 IMAP4 不支持證書中的通配符域。這意味著如果 POP3 設(shè)置或 IMAP4 設(shè)置的 X509CertificateName 屬性設(shè)置為 mail.fourthcoffee.com,Exchange 2007 將不支持只包含 *.fourthcoffee.com 作為證書域的證書。
如果 Microsoft Exchange 統(tǒng)一消息服務(wù)是在安全模式下啟動的,它將查詢本地“個人”證書存儲,以找到可用于 TLS 以啟用加密的有效證書。Microsoft Exchange 統(tǒng)一消息服務(wù)將首先查找私有 PKI 或公用 CA 頒發(fā)的有效證書。如果未找到適合的證書,將查找自簽名證書。如果未找到任何 PKI 證書、公用證書或自簽名證書,Microsoft Exchange 統(tǒng)一消息服務(wù)將創(chuàng)建在安全模式下啟動時要使用的自簽名證書。如果 UM 服務(wù)器在非安全模式下啟動,則不需要任何證書。
指紋是安全哈算法 (SHA1) 哈希值,可用于唯一標(biāo)識所使用的證書??梢詫?Microsoft Exchange 統(tǒng)一消息服務(wù)在安全模式下啟動時所使用的證書從本地證書存儲中導(dǎo)出,之后將此證書導(dǎo)入網(wǎng)絡(luò)中的統(tǒng)一消息 IP 網(wǎng)關(guān)和 IP PBX 上受信任的證書存儲中。
發(fā)現(xiàn)并使用適合的證書之后,在所使用的證書過期前一個月,Microsoft Exchange 統(tǒng)一消息服務(wù)將記錄一個事件。如果此時不對證書進(jìn)行任何更改,則在證書過期前的每一天以及在證書過期后的每一天,Microsoft Exchange 統(tǒng)一消息服務(wù)都會記錄事件。
如果統(tǒng)一消息服務(wù)器要查找供相互 TLS 在建立加密通道時使用的證書,將在受信任的根證書存儲中查找。如果有多個有效證書并且來自不同頒發(fā)者,則統(tǒng)一消息服務(wù)器將選擇距離證書過期時間最長的有效證書。如果存在多個證書,則統(tǒng)一消息服務(wù)器將基于頒發(fā)者和證書的過期日期來選擇證書。統(tǒng)一消息服務(wù)器按照以下優(yōu)先順序查找有效的證書: