Exchange Server的自签名证书以及证书更新
适用范围
Exchange Server 2016
自签名证书介绍
Exchange Server需要使用证书的服务
服务
使用
IIS
用于使用 HTTP 的内部和外部客户端连接的 TLS 加密。 这包括:
自动发现
Exchange ActiveSync
Exchange 管理中心
Exchange Web 服务
脱机通讯簿 (OAB) 分发
Outlook 无处不在(HTTP 上的 RPC)
Outlook(HTTP 上的 MAPI)
Outlook 网页版
IMAP
IMAP4 客户端连接的 TLS 加密。
请勿将通配符证书分配到 IMAP4 服务。 请改用 Set-ImapSettings cmdlet 配置完全限定的域名 (FQDN) 客户端用于连接到 IMAP4 服务。
流行
POP3 客户端连接的 TLS 加密。
请勿将通配符证书分配到 POP3 服务。 请改用 Set-PopSettings cmdlet 来配置客户端用来连接到 POP3 服务的 FQDN。
SMTP
用于外部 SMTP 客户端和服务器连接的 TLS 加密。
Exchange 与其他消息服务器之间的相互 TLS 身份验证。
将证书分配给 SMTP 时,系统会提示你替换用于加密内部 Exchange 服务器之间的 SMTP 通信的默认 Exchange 自签名证书。 通常,不需要替换默认 SMTP 证书。
统一消息 (UM)
用于与 Exchange 2016 邮箱服务器上的后端 UM 服务的客户端连接的 TLS 加密。
当将服务的 UM 启动模式属性设置为 TLS 或 Dual 时,您只能将证书分配到 UM 服务。 如果将 UM 启动模式设置为默认值 TCP,您将无法将证书分配到 UM 服务。 (注意:UM 在 Exchange 2019) 中不可用。 有关详细信息,请参阅Configure the Startup Mode on a Mailbox Server。
统一消息呼叫路由器 (UMCallRouter)
用于与 Exchange 2016 邮箱服务器上的客户端访问服务中的 UM 呼叫路由器服务的客户端连接的 TLS 加密。
当将服务的 UM 启动模式属性设置为 TLS 或 Dual 时,您只能将证书分配到 UM 呼叫路由器服务。 如果将 UM 启动模式设置为默认值 TCP,您将无法将证书分配到 UM 呼叫路由器服务。 (注意:UM 在 Exchange 2019) 中不可用。 有关详细信息,请参阅Configure the Startup Mode on a Client Access Server。
默认安装的情况下Exchange Server会生成3张自签名证书
证书名称
是否可以被第三方证书替代
用途
备注
Microsoft Exchange
可以。用于加密 IIS (OWA, ECP)、SMTP、IMAP、POP 等服务。可以被第三方证书替代
加密组织内Exchange服务器之间的网络流量(如集线器传输服务器间的SMTP会话加密)
默认分配给IIS, SMTP等服务
域内所有Exchange服务器默认使用同一张证书
Microsoft Exchange Server Auth Certificate
否。一个Exchange组织内共用此证书;删除或错误替换会导致服务中断
用于组织内Exchange服务器到服务器的身份验证(如OAuth),与外部应用集成(基于OAuth协议的认证集成,实现跨应用的单点登录和功能协作)
为SMTP服务提供身份验证支持
一个Exchange组织内所有服务器共享同一个Microsoft Exchange Server Auth Certificate
WMSVC/WMSVC-SHA2
不建议替换。此证书由 Microsoft Windows 系统自身生成和管理,主要用于IIS的远程管理。替换它可能导致IIS远程管理功能异常,且替换后可能被系统自动覆盖。
由 IIS 的 Web 管理服务使用,用于启用远程管理 Web 服务器及其关联的网站和应用程序
由 Microsoft Windows 系统自身生成
自签名证书的更新
注意:
由于更新过程涉及服务重新启动,会对Exchange Server的服务运行产生部分中断,所以建议在业务空闲时间操作!
Microsoft Exchange证书更新
获取Microsoft Exchange证书信息
登录ECP,导航Server>certificates,如果有多个Exchange Server,选择要更新的服务器

双击Microsoft Exchange证书
查看证书的指纹,如:F82121152DBEF12C9B889DB1F093F529ACEE911A

从Exchange Management Shell确认该证书
Get-ExchangeCertificate | Where-Object {$_.FriendlyName -like "Microsoft Exchange"} | Format-List FriendlyName,Subject,CertificateDomains,Thumbprint,RootCAType,*PrivateKey*,NotBefore,NotAfter
返回类似如下信息:
FriendlyName : Microsoft Exchange
Subject : CN=EXCH2K1601
CertificateDomains : {EXCH2K1601, EXCH2K1601.LJ.COM}
Thumbprint : F82121152DBEF12C9B889DB1F093F529ACEE911A
RootCAType : Registry
PrivateKeyExportable : False
HasPrivateKey : True
PrivateKey : System.Security.Cryptography.RSACryptoServiceProvider
NotBefore : 2025/3/12 22:42:29
NotAfter : 2030/3/12 22:42:29
创建新的Microsoft Exchange证书
利用现有证书指纹创建新证书
Get-ExchangeCertificate -Thumbprint "F82121152DBEF12C9B889DB1F093F529ACEE911A" | New-ExchangeCertificate -Force -PrivateKeyExportable $false
输出类似如下信息
Thumbprint Services Subject
---------- -------- -------
450F2B8EB85D2891C82B1FFD18F445A6CD7F9683 ....S.. CN=EXCH2K1601
拷贝新的证书
通过管理控制台,添加“证书”管理。展开“个人”>“证书”,右击新生成的证书,点击“复制”

展开“受信任的根证书颁发机构”>"证书",点击“粘贴”,讲新生成的证书复制到该存储


将证书分配给IIS服务
重新登录ECP,导航 Server > Certificate,可以看到生成的证书

双击该证书,在弹出窗左侧导航栏选择“Services”


删除旧microsoft Exchange证书

删除后,只剩下一张Microsoft Exchange证书

检查IIS网站的证书绑定
运行Internet Information Services (IIS) Manager,点击“Exchange Back End”,编辑 444端口的https类型

选择Microsoft Exchange证书

重启IIS
Microsoft Exchange Server Auth Certificate证书更新
获取Microsoft Exchange Server Auth Certificate证书信息
登录ECP,导航Server>certificates,如果有多个Exchange Server,选择要更新的服务器

双击该证书,获取指纹信息:5AA9E44E034036134D9F7A99CE5468C10703C3C0

从Exchange Management Shell确认该证书
(Get-AuthConfig).CurrentCertificateThumbprint | Get-ExchangeCertificate | Format-List
返回类似如下信息:
AccessRules : {System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccessRule, System.Security.AccessControl.CryptoKeyAccess
Rule}
CertificateDomains : {}
HasPrivateKey : True
IsSelfSigned : True
Issuer : CN=Microsoft Exchange Server Auth Certificate
NotAfter : 2030/2/14 22:44:34
NotBefore : 2025/3/12 22:44:34
PublicKeySize : 2048
RootCAType : None
SerialNumber : 682725F82CAF86BA423C0ED43AF6CC1E
Services : SMTP
Status : Valid
Subject : CN=Microsoft Exchange Server Auth Certificate
Thumbprint : 5AA9E44E034036134D9F7A99CE5468C10703C3C0
更新Microsoft Exchange Server Auth Certificate证书
更新Microsoft Exchange Server Auth Certificate证书的过程稍有不同,我们会通过创建一个新的Microsoft Exchange Server Auth Certificate证书,然后进行替换的方式进行
New-ExchangeCertificate -KeySize 2048 -PrivateKeyExportable $true -SubjectName "cn=Microsoft Exchange Server Auth Certificate" -FriendlyName "Microsoft Exchange Server Auth Certificate" -DomainName @()
命令提示是否覆盖现有的证书,回答 Y
确认
是否覆盖现有默认的 SMTP 证书?
当前证书:'450F2B8EB85D2891C82B1FFD18F445A6CD7F9683'(在 2030/11/11 9:04:16 后过期)
使用证书:'F2461517A67FA5584880CA4B0D9D8326AC562404'(在 2030/11/11 9:46:30 后过期) 替换此证书
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [?] 帮助 (默认值为“Y”): Y
Thumbprint Services Subject
---------- -------- -------
F2461517A67FA5584880CA4B0D9D8326AC562404 ....S.. CN=Microsoft Exchange Server Auth Certificate
新生成的证书指纹为:F2461517A67FA5584880CA4B0D9D8326AC562404
登录管理中心可以看到新生成的证书

为Exchange服务器的认证分配该证书
set-AuthConfig命令可以为服务器到服务器之间的认证分配证书
Set-AuthConfig -NewCertificateThumbprint "F2461517A67FA5584880CA4B0D9D8326AC562404" -NewCertificateEffectiveDate (Get-Date)
命令警告证书可能需要48小时才能在各个服务器上进行更新(各个Exchange服务器共用该证书),输入Y确认
确认
新证书生效日期至少在“48”小时后才能生效,且可能不会在所有所需服务器上部署。是否要继续?
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [?] 帮助 (默认值为“Y”): Y
PublishCertificate 参数可以设定指定证书立即在各个服务器应用
Set-AuthConfig -PublishCertificate
ClearPreviousCertificate参数清除组织中六存储的旧的证书信息
Set-AuthConfig -ClearPreviousCertificate
重启Microsoft Exchange Service Host Service服务
在各个Exchange服务器上运行
Restart-Service "MSExchangeServiceHost"
重启Microsoft Exchange Service Host Service服务
重启IIS
每个Exchange服务器上重启IIS
iisreset
删除旧的证书
每个Exchange Server上删除旧的证书

注意:
某些情况下,需要一定的时间更新(可能数小时)传播该证书,在这期间ECP可能会登录报错。

WMSVC/WMSVC-SHA2证书更新
WMSVC/WMSVC-SHA2证书用途
WMSVC/WMSVC-SHA2证书适用于IIS远程管理服务

在Exchange Server打开IIS manager,点击服务器名,双击“管理服务”

可以看到该服务使用的证书

登录ECP,查看现有证书信息

创建新的WMSVC-SHA2证书
注意:该证书为每个Exchange server单独生成,更新证书需要在每个exchange Server分别操作
SubjectName: CN=WMSvc-SHA2-EXCH2K1601,按照“CN=WMSvc-SHA2-主机名”的格式
FriendlyName: WMSvc-SHA2
Services: 设定为None
KeySize:2048
PrivateKeyExportable: 是否允许讲该证书导入/导出到其他Exchange服务器,设定为 $true
New-ExchangeCertificate -SubjectName "CN=WMSvc-SHA2-EXCH2K1601" -FriendlyName "WMSCVC-SHA2" -Services None -KeySize 2048 -PrivateKeyExportable $true
Thumbprint Services Subject
---------- -------- -------
2DDE6975404F221D6C40D772677063DAECD0413B ....... CN=WMSvc-SHA2-EXCH2K1601
拷贝证书到受信任根证书颁发机构



登录到Exchange管理中心,检查新生成的证书

删除旧的证书

为Web management Service分配新证书
受限停止该服务

选择新的证书后,应用

然后启动服务
