从 Exchange 服务器导出证书
可以从 Exchange 服务器导出证书作为备份,或在其他客户端、设备或服务器上导入证书。 可以在 Exchange 管理中心 (EAC) 或 Exchange 命令行管理程序中导出证书。 所生成的证书文件是受密码保护的二进制 PKCS #12 文件(其中包含证书的私钥),并适用于导入(安装)在其他服务器上。
注意
将从 EAC for Exchange Server 2016 CU23 和 Exchange Server 2019 CU12 中删除证书管理任务。 使用 Exchange 命令行管理程序过程从这些版本导出/导入证书。
在开始之前,您需要知道什么?
估计完成时间:5 分钟。
在 EAC 中,需要将证书文件导出到 UNC 路径 (
\\<Server>\<Share>\
或\\<LocalServerName>\c$\
) 。 在 Exchange 命令行管理程序中,可以指定本地路径。若要了解如何在本地 Exchange 组织中打开 Exchange 命令行管理程序,请参阅 Open the Exchange Management Shell。
您必须先获得权限,然后才能执行此过程或多个过程。 若要查看所需的权限,请参阅 客户端和移动设备权限主题中的"客户端访问服务安全"条目。
若要了解本主题中的过程可能适用的键盘快捷键,请参阅 Exchange 管理中心内的键盘快捷键。
提示
是否有任何疑问? 请在 Exchange 论坛中寻求帮助。 请访问以下论坛:Exchange Server、Exchange Online 或 Exchange Online Protection。
使用 EAC 导出证书
打开 EAC 并导航到 “服务器>证书”。
在 “选择服务器” 列表中,选择包含证书的 Exchange 服务器,单击“ 更多选项,然后选择“ 导出 Exchange 证书”。
在打开的“导出 Exchange 证书”页面上,请输入以下信息:
要导出到的文件:输入证书文件的 UNC 路径和文件名。 例如,
\\FileServer01\Data\Fabrikam.pfx
密码:使用私钥导出证书时,需要指定密码。 使用私钥导出证书可以在其他服务器上导入证书。
完成后,单击“确定”。
使用 Exchange 命令行管理程序导出证书
若要导出可以导入到其他客户端或服务器上的二进制证书文件,请使用以下语法:
$cert = Export-ExchangeCertificate -Thumbprint <Thumbprint> -BinaryEncoded -Password (Read-Host "Enter password" -AsSecureString) [-Server <ServerIdentity>]
[System.IO.File]::WriteAllBytes('<FilePathOrUNCPath>\<FileName>.pfx', $cert.FileData)
此示例使用以下设置将证书从本地 Exchange 服务器导出到文件中:
- 具有指纹值的
5113ae0233a72fccb75b1d0198628675333d010e
证书将导出到运行命令的同一服务器上的文件C:\Data\Fabrikam.pfx
。 - 导出的证书文件进行 DER(而不是 Base64)编码。
- 系统会提示输入密码。
$cert = Export-ExchangeCertificate -Thumbprint 5113ae0233a72fccb75b1d0198628675333d010e -BinaryEncoded -Password (Read-Host "Enter password" -AsSecureString)
[System.IO.File]::WriteAllBytes('C:\Data\Fabrikam.pfx', $cert.FileData)
若要导出挂起的证书请求 (也称为证书签名请求或 CSR) ,请使用以下语法:
$txtcert = Export-ExchangeCertificate -Thumbprint <Thumbprint> [-Server <ServerName>]
[System.IO.File]::WriteAllBytes('<FilePathOrUNCPath>\<FileName>.req', [System.Text.Encoding]::Unicode.GetBytes($txtcert))
本示例将挂起的证书请求从本地 Exchange 服务器导出到具有以下设置的文件:
- 具有指纹值的
72570529B260E556349F3403F5CF5819D19B3B58
证书将导出到 文件\\FileServer01\Data\Fabrikam.req
。 - 导出的证书文件是 Base64 编码的。
$txtcert = Export-ExchangeCertificate -Thumbprint 72570529B260E556349F3403F5CF5819D19B3B58
[System.IO.File]::WriteAllBytes('\\FileServer01\Data\Fabrikam.req', [System.Text.Encoding]::Unicode.GetBytes($txtcert))
有关详细语法和参数信息,请参阅 Export-ExchangeCertificate。
注意:
- 如果需要将证书请求重新提交到证书颁发机构,但找不到原始证书请求文件,则可以导出挂起的证书请求。
- 导出证书请求时,您通常不需要使用 Password 参数或 BinaryEncoded 开关,同时您要将请求保存到一个 .req 文件中。
- 不能在另一台服务器上导入导出的挂起证书请求。
如何知道操作成功?
若要验证是否已成功从 Exchange 服务器导出证书,请尝试在另一台服务器上导入证书文件。 有关详细信息,请参阅 在 Exchange 服务器上导入或安装证书。