完成挂起的Exchange Server证书请求

在 Exchange Server 中配置传输层安全性 (TLS) 加密,下一步是完成挂起的证书请求 (也称为证书签名请求或 CSR) 。 接收由证书颁发机构 (CA) 颁发的证书后,在 Exchange 服务器上安装证书以完成待处理的证书请求。

您可以在 Exchange 管理中心 (EAC) 或 Exchange 命令行管理程序 中完成待处理的证书请求。 完成新的证书请求或证书更新请求的步骤是相同的。 获取由内部 CA (例如,Active Directory 证书服务)或商业 CA 颁发的证书的过程也是相同的。

您可能会收到以下一个或多个类型的证书文件 CA :

  • PKCS #12 证书文件:这些是扩展名为 .cer、.crt、.der、.p12 或 .pfx 的二进制证书文件,当文件包含私钥或信任链时需要密码。 CA 可能仅向您颁发一个二进制证书文件供您安装(受密码保护),或多个根或中间二进制证书文件供您安装。

  • PKCS #7 证书文件:这些是文件扩展名为 .p7b 或 .p7c 的文本证书文件。 这些文件包含文本: -----BEGIN CERTIFICATE----------END CERTIFICATE----------BEGIN PKCS7----------END PKCS7-----。 如果 CA 包含二进制证书文件的证书链,则需要安装证书文件链。

注意

将从 EAC 中删除 Exchange Server 2016 CU23 和 Exchange Server 2019 CU12 的证书管理任务。 使用 Exchange 命令行管理程序过程从这些版本导出/导入证书。

在开始之前,您需要知道什么?

  • 估计完成时间:5 分钟。

  • 本主题的过程要求在 Exchange 服务器上已经创建了新的证书请求,向 CA 发送了证书请求,并接收了由 CA 颁发的证书。 有关详细信息,请参阅为证书颁发机构创建Exchange Server证书请求

  • 在 EAC 中,需要从 UNC 路径 (或\\<LocalServerName>\c$\) \\<Server>\<Share>检索证书文件。 在 Exchange 命令行管理程序 中,您可以使用本地文件路径。

  • 如果续订或替换由订阅的边缘传输服务器上的 CA 颁发的证书,则需要删除旧证书,然后删除并重新创建边缘订阅。 有关详细信息,请参阅边缘订阅进程

  • 若要了解如何在本地 Exchange 组织中打开 Exchange 命令行管理程序,请参阅 Open the Exchange Management Shell

  • 您必须先获得权限,然后才能执行此过程或多个过程。 若要查看所需的权限,请参阅 客户端和移动设备权限主题中的"客户端访问服务安全"条目。

  • 若要了解本主题中的过程可能适用的键盘快捷键,请参阅 Exchange 管理中心内的键盘快捷键

提示

是否有任何疑问? 请在 Exchange 论坛中寻求帮助。 请访问以下论坛:Exchange ServerExchange OnlineExchange Online Protection

使用 EAC 以创建完成待处理的证书请求

  1. 打开 EAC 并导航到 “服务器>证书”。

  2. In the Select server list, select the Exchange server that holds the pending certificate request.

  3. 待处理的证书请求具有以下属性:

    • In the list of certificates, the value of the Status field is Pending request.

    • When you select the certificate request from the list, there's a Complete link in the details pane.

    Select the pending certificate request that you want to complete, and then click Complete in the details pane.

  4. On the Complete pending request page that opens, in the File to import from field, enter the UNC path and filename for the certificate file. 例如,\\FileServer01\Data\ContosoCert.cer。 完成后,单击“确定”

The certificate request becomes a certificate in the list of Exchange certificates with a Status value of Valid. 有关后续步骤,请参阅后续步骤部分。

使用 Exchange 命令行管理程序 完成待处理的证书请求

若要完成挂起的证书请求,请使用以下语法:

Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes('<FilePathOrUNCPath>')) [-Password (ConvertTo-SecureString -String '<Password> ' -AsPlainText -Force)] [-PrivateKeyExportable <$true | $false>] [-Server <ServerIdentity>]

将此语法用于以下类型的证书文件:

  • 二进制证书文件 (具有 .cer、.crt、.der、.p12 或 .pfx 文件扩展名) 的 PKCS #12 文件。
  • 证书文件链 (具有 .p7b 或 .p7c 文件扩展名的 PKCS #7 文本文件) 。

此示例导入受本地 Exchange 服务器上的密码P@ssw0rd1保护的二进制证书文件 \\FileServer01\Data\Contoso Cert.cer

Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes('\\FileServer01\Data\Contoso Cert.cer')) -Password (ConvertTo-SecureString -String 'P@ssw0rd1' -AsPlainText -Force)

此示例在本地 Exchange 服务器上导入文本证书文件 \\FileServer01\Data\Chain of Certificates.p7b

Import-ExchangeCertificate -FileData ([System.IO.File]::ReadAllBytes('\\FileServer01\Data\Chain of Certificates.p7b'))

注意:

  • 如果证书文件位于运行命令的 Exchange 服务器上,则 FileData 参数接受本地路径,而这是要导入证书的同一服务器。 否则,请使用 UNC 路径。
  • 如果希望能够从要导入证书的服务器导出证书,则需要将 PrivateKeyExportable 参数与值 $true结合使用。
  • 有关详细信息,请参阅 Import-ExchangeCertificate

如何知道操作成功?

若要确认是否已成功完成证书请求并已在 Exchange 服务器上安装了证书,请使用以下步骤之一:

  • “服务器>证书”处的 EAC 中,验证是否已选择安装证书的服务器。 In the list of certificates, verify that the certificate has Status property value Valid.

  • 在安装了证书的服务器上的 Exchange 命令行管理程序 中,运行以下命令以确认是否列出了证书:

    Get-ExchangeCertificate | where {$_.Status -eq "Valid" -and $_.IsSelfSigned -eq $false} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint
    

后续步骤

通过在服务器上安装证书完成待处理的证书请求后,需要在 Exchange 服务器能够使用证书进行加密前,将证书分配到一个或多个 Exchange 服务。 有关详细信息,请参阅 将证书分配给 Exchange 服务