Exchange证书错误导致接收到Online的邮件
用户直接运行的混合部署向导,选择的是本地的证书,致使本地接收连接器中,默认的“Default Frontend IXM-EX01”中证书用的是本地的,此处应用三方信任证书。
待用户导入三方信任证书后,重跑混合部署向导的时候,在证书界面要手动再选择一下三方信任证书,然后保存才能生效,如果不重新选择,直接点击保存的话,是不能生效的。因此重跑混合部署向导后,用命令查(Get-ReceiveConnector “Default Frontend IXM-EX01” | FL tls*),还是应用的本地证书。
我们之后用命令(Set-ReceiveConnector “Default Frontend IXM-EX01”–tlscertificatename “<I> CN=CA 沃通免费SSL证书 G2, O=WoSign CA Limited, C=CN<S> CN=mail.ixmsoft.com”)将三方证书帮用户绑定到接收连接器中,绑定成功,但是恰恰在C=CN之前多了一个空格,致使问题一直存在。
我们在本地Exchange Server中用Telnet localhost 25命令,ehlo的时候,发现没有250-STARTTLS选项,这就导致了,云端设置出站连接器时,勾选TLS选项时,发信失败,提示TLS身份验证失败。
通过Exchange本地log,发我们发现telent本地25端口时,接收连接器上无与该证书相匹配的信息。因此StartTLS选项启动失败。
接下来,让用户用如下命令移除本地Exchange服务器端接收连接器上的有问题的证书(即设置当前tls证书名称为空):
Get-ReceiveConnector "ServerName\DefaultFrontend ReceiveConnector" | Set-ReceiveConnector -TlsCertificateName$null
Get-ReceiveConnector "ServerName\DefaultFrontend ReceiveConnector" | Set-ReceiveConnector -TlsDomainCapabilities$null
在重新在本地Exchange服务器端跑混合部署向导之前,用户再次在云端出站连接器勾选TLS选项发邮件,本地可以成功接收邮件。
为什么本地默认接收连接器的证书为空,云端出站连接器中勾选TLS选项,云端往本地发邮件,用户依然可以收到邮件呢?
是由于本地的默认接收连接器Default Frontend IXM-EX01中,RequireTLS选项的值为False,也就是不是强制走TLS的。
当云端的出站连接器中勾选TLS选项后,发送测试邮件实际上尝试TLS加密连接是失败的,但是不返回失败结果,由于不是强制走TLS的,所以,它会尝试不走TLS加密,使得邮件成功发送。
用户在移除本地Exchange服务器端接收连接器上的有问题的证书后,重新跑了一下混合部署向导,重新选择了三方信任证书,问题得以解决。
本文详细解析了因使用本地而非第三方信任证书导致的Exchange服务器证书错误,并提供了详细的故障排查及解决方案,包括如何正确配置TLS证书。

1392

被折叠的 条评论
为什么被折叠?



