建立證書頒發機構單位的 Exchange Server 憑證要求
建立憑證要求是在 Exchange 伺服器上安裝新憑證的第一個步驟,以設定一或多個 Exchange 服務的傳輸層安全性 (TLS) 加密。 您可以使用憑證要求 (也稱為憑證簽署要求或 CSR) 從憑證授權單位 (CA) 取得憑證。 從內部 CA (例如 Active Directory 憑證服務) 或商業 CA 取得憑證的程式都相同。 建立憑證要求之後,您會將結果傳送至 CA,而 CA 會使用該資訊來發行您稍後安裝的實際憑證。
您可以在 Exchange 系統管理中心 (EAC) 或 Exchange 管理命令介面中建立憑證要求。 EAC 中的 [新增 Exchange 憑證 精靈] 可協助您選取憑證中所需的主機名。
開始之前有哪些須知?
您必須已獲指派權限,才能執行此程序或這些程序。 For more information on the permissions you need, see the "Client Access services security" entry in the Clients and mobile devices permissions article.
預估完成時間:完成新憑證要求的 5 分鐘。 不過,在要求產生憑證發行之前,需要更多時間。 如需詳細資訊,請參閱 後續步驟。
您必須仔細規劃,以選擇您想要的憑證類型,以及憑證中所需的主機名。 如需詳細資訊,請參閱 Exchange Server 中的數位證書和加密。
確認 CA 的憑證要求需求。 Exchange 會產生 PKCS #10 要求 (.req) 檔案,該檔案使用 Base64 (預設) 或辨別編碼規則 (DER) 編碼,RSA 公鑰為 1024、2048 (預設) 或 4096 位。 編碼和公鑰選項只能在 Exchange 管理命令介面中使用。 如需詳細資訊,請參閱 New-ExchangeCertificate。
在 EAC 中,您必須將憑證要求檔案儲存在 UNC 路徑 (
\\<Server>\<Share>\
或\\<LocalServerName>\c$\
) 。 在 Exchange 管理命令介面中,您可以指定本機路徑。若要了解如何在內部部署 Exchange 組織中開啟 Exchange 管理命令介面,請參閱 Open the Exchange Management Shell。
如需可能套用至本文程式之鍵盤快捷方式的詳細資訊,請參閱 Exchange 系統管理中心的鍵盤快捷方式。
提示
有問題嗎? 在 Exchange 論壇中尋求協助。 此論壇的網址為:Exchange Server、Exchange Online 或 Exchange Online Protection。
使用 EAC 建立新的憑證要求
注意事項
在 Exchange 2019 CU12 和更新版本以及 Exchange 2016 CU23 和更新版本中,ECP 憑證要求已被取代。
開啟EAC並流覽至 [伺服器憑證>]。
在 [選取伺服器] 下拉式清單中,選取您要安裝憑證的 Exchange 伺服器,然後選取 [
[新增 Exchange 憑證精靈] 隨即開啟。
在 [ 此精靈將建立新的憑證或憑證要求檔案 ] 頁面上,確認已選取 [ 從證書頒發機構單位建立憑證要求 ],然後選取 [ 下一步]。
注意事項
若要建立新的自我簽署憑證,請參閱 建立新的 Exchange Server 自我簽署憑證。
在 [此憑證的 易記名稱] 頁面上,輸入憑證的描述性名稱,然後選取 [ 下一步]。
在 [ 要求通配符憑證 ] 頁面上,選擇下列其中一個選項:
- 如果您想要通配符憑證:選取 [要求通配符憑證],然後在 [ 根域 ] 方塊中輸入通配符 (*) 和網域,例如 *.contoso.com 或 *.eu.contoso.com。 完成時,按 [下一步]。
- 如果您想要將主體別名 (SAN) 憑證:在此頁面上不選取任何專案,然後選取 [ 下一步]。
- 如果您想要單一主機的憑證:在此頁面上不選取任何項目,然後選取 [ 下一步]。
在此 伺服器的 [儲存憑證要求 ] 頁面中,選取 [ 流覽 ],然後選取要在其中儲存憑證要求的 Exchange 伺服器 (您要安裝憑證) 的位置。 然後,選取 [確定] 和 [ 下一步]。
注意事項
步驟 7 和 8 僅適用於 SAN 憑證的要求,或單一主機的憑證。 如果您選取 [要求通配符憑證],請跳至步驟 9。
[ 指定您要包含在憑證中的網域 ] 頁面隨即出現。 此頁面基本上是一個工作表,可協助您判斷憑證中下列 Exchange 服務所需的內部和外部主機名:
- Outlook 網頁版
- 離線通訊錄產生 (OAB)
- Exchange Web 服務
- Exchange ActiveSync
- 自動探索
- 流行
- 網際網路訊息存取通訊協定 (IMAP)
- Outlook 無所不在
根據內部或外部) (位置,為每個服務輸入值。 然後,精靈會決定憑證中所需的主機名,而資訊會顯示在下一個頁面上。
如果您想要修改服務的值,請選取 [ 編輯 () 並輸入您要使用的主機名值 (或刪除) 值。 完成時,按 [下一步]。
注意事項
如果您已經判斷出憑證中所需的主機名值,則不需要填寫此頁面上的資訊。 請改為選取 [下一步 ] 手動在下一頁輸入主機名。
根據您的選擇,下列網域會包含在您的憑證頁面中。 此頁面會列出將包含在憑證要求中的主機名。 憑證的 [ 主體 ] 方塊中使用的主機名是粗體,很難看出是否已選取該主機名。
參考您在上一頁所做的選取專案,以確認憑證中所需的主機名專案。
如果您不想考慮此主機名清單以包含在憑證要求中,請移至步驟 10。
請忽略最後一頁中的值,並執行下列步驟來新增、編輯或移除主機名值:a. 如果您想要 SAN 憑證:若要選取憑證 [ 主體 ] 字段的主機名,請選取值,然後選 取 [設定為一般名稱 (核取標記) 。 值現在應該會顯示為粗體。 b. 如果您想要單一主機名的憑證:一次選取一個其他值,然後選取 [移除 () 。
注意事項
您無法刪除將用於憑證 [ 主體 ] 方塊的粗體主機名值。 首先,您必須選取或新增不同的主機名,然後核取 [設定為一般名稱] 方塊。 如果您選取 [ 上 一頁] 按鈕,您在此頁面上所做的變更可能會遺失。
在 [ 指定組織相關信息] 頁面上,輸入下列值:
- 組織名稱
- 部門名稱
- 城市/位置
- 縣/市
- 國家/地區名稱
注意事項
這些 X.500 值會包含在憑證的 [ 主體 ] 方塊中。 雖然每個欄位中都需要值才能繼續進行,但 CA 可能不在意某些欄位 (例如 ,部門名稱) ,而其他字位則是重要 (例如 ,國家/地區名稱 和 組織名稱) 。 核取 CA 的 [主旨 ] 方塊需求。
完成時,按 [下一步]。
在 [將 憑證要求儲存至下列檔案 ] 頁面上,輸入憑證要求的 UNC 路徑和檔名,例如
\\FileServer01\Data\ExchCertRequest.req
。 當您完成時,請選取 [ 完成]。
The certificate request appears in the list of Exchange certificates with a status value of Pending. 如需後續步驟的詳細資訊,請參閱 後續步驟一 節。
使用 Exchange 管理命令介面來建立新的憑證要求
若要為通配符憑證、SAN 憑證或單一主機的憑證建立新的要求,請使用下列語法:
如果您需要將憑證要求檔案 的內容 傳送至 CA,請使用下列語法來建立 Base64 編碼的要求檔案:
$txtrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest [-FriendlyName <DescriptiveName>] -SubjectName C=<CountryOrRegion>[,S=<StateOrProvince>,L=<LocalityOrCity>,O=<Organization>,OU=<Department>],CN=<HostNameOrFQDN> [-DomainName <Host1>,<Host2>...] [-KeySize <1024 | 2048 | 4096>] [-Server <ServerIdentity>] [System.IO.File]::WriteAllBytes('<FilePathOrUNCPath>\<FileName>.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))
如果您需要將 憑證要求檔案 傳送至 CA,請使用下列語法來建立 DER 編碼的要求檔案:
$binrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -BinaryEncoded [-FriendlyName <DescriptiveName>] -SubjectName C=<CountryOrRegion>[,S=<StateOrProvince>,L=<LocalityOrCity>,O=<Organization>,OU=<Department>],CN=<HostNameOrFQDN> [-DomainName <Host1>,<Host2>...] [-KeySize <1024 | 2048 | 4096>] [-Server <ServerIdentity>] [System.IO.File]::WriteAllBytes('<FilePathOrUNCPath>\<FileName>.pfx', $binrequest.FileData)
注意事項
執行命令) ,憑證的 [主體] 方塊 (X.500 SubjectName 參數值的唯一必要部分是 CN=<HostNameOrFQDN>
。 但是,您應該一律包含 C=<CountryOrRegion>
值。 否則,您可能無法更新憑證。 核取 CA 的 [主旨 ] 方塊需求。
如果您未使用 KeySize 參數,憑證要求會有 2048 位的 RSA 公鑰。
如果您未使用 Server 參數,命令會在本機 Exchange 伺服器上執行。
如需詳細的語法和參數資訊,請參閱 New-ExchangeCertificate。
通配符憑證要求
這些範例會使用下列屬性建立通配符憑證的憑證要求檔案:
-
SubjectName: *.contoso.com 在美國,這需要值
C=US,CN=*.contoso.com
。 -
RequestFile:
\\FileServer01\Data\Contoso Wildcard Cert.<cer or pfx>
- FriendlyName:Contoso.com 通配符憑證
若要建立通配符憑證的Base64編碼要求檔案,請執行下列命令:
$txtrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -FriendlyName "Contoso.com Wildcard Cert" -SubjectName "C=US,CN=*.contoso.com"
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Contoso Wildcard Cert.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))
若要建立通配符憑證的 DER 編碼要求檔案,請執行下列命令:
$binrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -BinaryEncoded -FriendlyName "Contoso.com Wildcard Cert" -SubjectName "C=US,CN=*.contoso.com"
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Contoso Wildcard Cert.pfx', $binrequest.FileData)
SAN 憑證要求
這些範例會使用下列屬性建立 SAN 憑證的憑證要求檔案:
-
SubjectName:在美國 mail.contoso.com,這需要值
C=US,CN=mail.contoso.com
。 此 CN 值會自動包含在 DomainName 參數中, ([ 主體別名] 欄 位) 。 - 其他 主體別名 域值:
- autodiscover.contoso.com
- legacy.contoso.com
- mail.contoso.net
- autodiscover.contoso.net
- legacy.contoso.net
-
RequestFile:
\\FileServer01\Data\Contoso SAN Cert.<cer or pfx>
- FriendlyName:Contoso.com SAN 憑證
- DomainName:網域的未引號逗號分隔清單
若要建立 SAN 憑證的 Base64 編碼要求檔案,請執行下列命令:
$txtrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -FriendlyName "Contoso.com SAN Cert" -SubjectName "C=US,CN=mail.contoso.com" -DomainName autodiscover.contoso.com,legacy.contoso.com,mail.contoso.net,autodiscover.contoso.net,legacy.contoso.net
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Contoso SAN Cert.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))
若要建立 SAN 憑證的 DER 編碼要求檔案,請執行下列命令:
$binrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -BinaryEncoded -FriendlyName "Contoso.com SAN Cert" -SubjectName "C=US,CN=mail.contoso.com" -DomainName autodiscover.contoso.com,legacy.contoso.com,mail.contoso.net,autodiscover.contoso.net,legacy.contoso.net
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Contoso SAN Cert.pfx', $binrequest.FileData)
單一主體憑證要求
這些範例會針對具有下列屬性的單一主體憑證建立憑證要求檔案:
-
SubjectName:在美國 mail.contoso.com,這需要值
C=US,CN=mail.contoso.com
。 -
RequestFile:
\\FileServer01\Data\Mail.contoso.com Cert.<cer or pfx>
- FriendlyName:Mail.contoso.com 憑證
若要建立單一主體憑證的Base64編碼要求檔案,請執行下列命令:
$txtrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -FriendlyName "Mail.contoso.com Cert" -SubjectName "C=US,CN=mail.contoso.com"
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Mail.contoso.com Cert.req', [System.Text.Encoding]::Unicode.GetBytes($txtrequest))
若要建立單一主體憑證的 DER 編碼要求檔案,請執行下列命令:
$binrequest = New-ExchangeCertificate -PrivateKeyExportable $True -GenerateRequest -BinaryEncoded -FriendlyName "Mail.contoso.com Cert" -SubjectName "C=US,CN=mail.contoso.com"
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Mail.contoso.com Cert.pfx', $binrequest.FileData)
您如何知道這些命令運作正常?
若要確認您已成功建立新的憑證要求,請執行下列其中一個步驟:
在 [伺服器證書] 的 EAC 中>,確認是否已選取您儲存憑證要求的伺服器。 要求應在憑證清單中, 且 Status 參數的值設定為 [擱置中的要求]。
在用來儲存憑證要求的伺服器上,於 Exchange 管理命令介面中執行下列命令:
Get-ExchangeCertificate | where {$_.Status -eq "PendingRequest" -and $_.IsSelfSigned -eq $false} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint
後續步驟
Base64 編碼憑證要求檔案的內容看起來像下面所述的範例:
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIEBjCCAu4CAQAwYzEWMBQGA1UEAwwNKi5jb250b3NvLmNvbTELMAkGA1UECwwC
SVQxEDAOBgNVBAoMB0NvbnRvc28xEDAOBgNVBAcMB1NlYXR0bGUxCzAJBgNVBAgM
AldBMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
ANZFK6JxcQMEBitJcEC82vCvr6251o28CMmrpIkl7Z0MnkCrU+BMTLBuZnIgaLvb
jlzORvH6DP/dbyR8gQEAHVrXVWdr3AJIRbqQXWwN++BM5b2O6lIrA8w41XwGNu6r
dtddi+POf8UYwot7PXw6wDsbKaTs1ePVK/0XdemdJCFIXNfCT8LY4p/KryQAyquo
XDa+Acbx7TRxG2kXNAxgPGve+mvyCyizbugXAJIz4nugJ2k/X1kGYDc7f/b80tCv
bPTcGCr09ScsbKmsQcqJ7UxiX2tScpO5AQxNxJHGL+bA6+96FBjPnFZaqPbFgI74
N6hmZdSEDgQlaGfLEGjZBGMCAwEAAaCCAVwwGgYKKwYBBAGCNw0CAzEMFgo2LjEu
NzYwMS4yMEwGCSqGSIb3DQEJDjE/MD0wDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB
/wQCMAAwHQYDVR0OBBYEFNRw1o74zcuGyky33rl7WChgdQrlMHIGCisGAQQBgjcN
AgIxZDBiAgEBHloATQBpAGMAcgBvAHMAbwBmAHQAIABSAFMAQQAgAFMAQwBoAGEA
bgBuAGUAbAAgAEMAcgB5AHAAdABvAGcAcgBhAHAAaABpAGMAIABQAHIAbwB2AGkA
ZABlAHIDAQAwfAYJKwYBBAGCNxUUMW8wbQIBBQwrRVhIUi0zMjQ4LkVYSFItMzI0
OGRvbS5leHRlc3QubWljcm9zb2Z0LmNvbQwXRVhIUi0zMjQ4RE9NXEVYSFItMzI0
OCQMIk1pY3Jvc29mdC5FeGNoYW5nZS5TZXJ2aWNlSG9zdC5leGUwDQYJKoZIhvcN
AQEFBQADggEBAL63qVj1m2mBz53+nilnlFweOlcltXoxaF28+Kf0hrJVbH5a2Jme
tS0iKU8YXU3mZ3NnWco+5ea024f9awMIzg4z/heE5yEUFf9UtwRGSOc84r2QexPa
zT/rveTTcbliKU0EFhporl3C2uuBCdAewyLj+/k0hABH3djnmMONG6NyC5f+wMun
kkH5naiSLdsTYbq8jkWYuSqL0qdhtmauqWeAPpA0hKDkQk5eDWpOGx3mgxiaQumo
Rqw6dmQ+o8TC+lE3Tvgdfv47A84X8H7Y9h8liS4h0OfbsgEQb8LcM0YHD6yvPgcD
JCmt8A7JFHF9u6mghjiKlXaZ/i+2l10Wsu8=
-----END NEW CERTIFICATE REQUEST-----
您必須將此資訊傳送至 CA。 傳送方式取決於 CA,但通常您會在電子郵件訊息或 CA 網站上的憑證要求表單中傳送檔案的內容。
如果 CA 需要由 DER 編碼的二進位憑證要求 (您使用 New-ExchangeCertificate Cmdlet 搭配 BinaryEncoded 參數) ,您通常會將整個憑證要求檔案傳送至 CA。
從 CA 收到憑證之後,您必須完成擱置的憑證要求。 如需詳細資訊,請 參閱完成擱置的 Exchange Server 憑證要求。