选择入站匿名 TLS 证书

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上一次修改主题: 2011-01-19

在下列方案中需要选择入站匿名传输层安全性 (TLS) 证书:

  • 对边缘传输服务器和集线器传输服务器之间的简单邮件传输协议 (SMTP) 会话进行身份验证

  • 仅使用公钥对集线器传输服务器之间的 SMTP 会话进行加密

对于集线器传输服务器之间的通信,使用匿名 TLS 和来自证书的公钥对会话加密。然后要进行 Kerberos 身份验证。建立 SMTP 会话后,接收服务器将启动一个证书选择过程,以确定在 TLS 协商期间使用哪个证书。发送服务器也会执行证书选择过程。有关此过程的详细信息,请参阅出站匿名 TLS 证书选择

本主题将介绍入站匿名 TLS 证书的选择过程。所有步骤都在接收服务器上执行。下图给出了此过程的所有步骤。

选择入站匿名 TLS 证书

选择入站匿名 TLS 证书

  1. 建立 SMTP 会话后,Microsoft Exchange 会调用一个进程来加载该证书。

  2. 在加载证书功能中,将检查该会话连接到的接收连接器,以查看是否已将 AuthMechanism 属性设置为值 ExchangeServer。您可以使用 Set-ReceiveConnector cmdlet 在接收连接器上设置 AuthMechanism 属性。也可以通过选择给定接收连接器的“身份验证”选项卡上的“Exchange Server 身份验证”,将 AuthMechanism 属性设置为 ExchangeServer

    如果未将 ExchangeServer 作为身份验证机制启用,服务器不会将 X-ANONYMOUSTLS 公布到 SMTP 会话中的发送服务器,也不会加载证书。如果已将 ExchangeServer 作为身份验证机制启用,证书选择过程会继续进行下一步。

  3. Microsoft Exchange 将查询 Active Directory 目录服务以在服务器上检索证书指纹。证书指纹存储于服务器对象的 msExchServerInternalTLSCert 属性。

    如果无法读取 msExchServerInternalTLSCert 属性或者该值为 null,则 Microsoft Exchange 不会公布 X-ANONYMOUSTLS,也不会加载证书。

    note注意:
    如果在启动 Microsoft Exchange 传输服务期间(而非 SMTP 会话期间)无法读取 msExchServerInternalTLSCert 属性或者该属性的值为 null,应用程序日志会记录事件 ID 12012。
  4. 如果发现了指纹,证书选择过程会对本地计算机证书存储进行搜索以寻找与指纹匹配的证书。如果找不到相关证书,则服务器不会公布 X-ANONYMOUSTLS,也不会加载任何证书,并且应用程序日志会记录事件 ID 12013。

  5. 从证书存储加载证书后,会检查它是否已过期。将证书中 Valid to 字段与当前日期和时间进行比较。如果证书已过期,应用程序日志会记录事件 ID 12015。但是证书选择过程并没有失败,还在继续剩余的检查。

  6. 检查证书以查看它在最新本地计算机证书存储中是否最新。作为此检查的一部分,还会为潜在的证书域建立域列表。域列表基于以下计算机配置:

    • 完全限定的域名 (FQDN),如 mail.contoso.com

    • 主机名,如 EdgeServer01

    • 物理 FQDN,如 EdgeServer01.contoso.com

    • 物理主机名,如 EdgeServer01

    note注意:
    对于已配置为群集的服务器,或者运行 Microsoft Windows 负载平衡的计算机,不再检查 DnsFullyQualifiedDomainName 设置,而是检查以下注册表项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WLBS\Parameters\Interface\{GUID}\ClusterName
  7. 建立域列表后,证书选择过程会进行检查,在证书存储中查找与 FQDN 匹配的所有证书。证书选择过程会从此列表中找出合格的证书列表。合格的证书必须满足下列条件:

    • 证书是 X.509 版本 3 或更高版本。

    • 证书具有相关的私钥。

    • “主题”或“主题备用名称”字段包含在步骤 6 中检索到的 FQDN。

    • 证书已启用,以供安全套接字层 (SSL)/TLS 使用。具体来说,已使用 Enable-ExchangeCertificate cmdlet 为此证书启用了 SMTP 服务。

  8. 按照以下顺序从合格的证书中选择最合适的证书:

    • 按最近的 Valid from 日期对合格的证书进行排序。Valid from 是证书上的“版本 1”字段。

    • 使用从此列表中找到的第一个有效公钥基础结构 (PKI) 证书。

    • 如果未找到有效的 PKI 证书,则使用第一个自签名证书。

  9. 确定最合适的证书后,将进行另一项检查以确定证书指纹是否与 msExchServerInternalTLSCert 属性中存储的证书相匹配。如果相匹配,则将该证书用于 X-AnonymousTLS。如果不匹配,则在应用程序日志中记录该事件 ID 1037。但是,这并不会导致 X-AnonymousTLS 失败。

详细信息

有关如何为其他 TLS 情形选择证书的详细信息,请参阅下列主题: