证书主体不匹配

[本主题旨在解决由 Exchange Server 分析工具发现的特定问题。应只将此主题应用到已对其运行 Exchange Server 分析工具并且正面临该特定问题的系统中。通过可以免费下载的 Exchange Server 分析工具,远程收集拓扑中每台服务器的配置数据并自动分析数据。结果报告详述了重要的配置问题、潜在问题以及一些非默认产品设置。通过遵守这些建议,可以获得更佳的性能、可伸缩性、可靠性及正常运行时间。有关此工具或下载最新版本的详细信息,请参阅 https://go.microsoft.com/fwlink/?linkid=34707(英文网页)上的“Microsoft Exchange 分析工具”。]  

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

Microsoft Exchange 最佳实践分析工具解析 Microsoft Exchange Server 2007 中的已接收域的列表,以检索已接收 SMTP 域的 URL。从每个已接收的 SMTP 域,分析工具尝试收集与特定域关联的 SSL 证书。该工具检查每个已收集的证书以确定特定证书上主体属性的值。该主体属性的值代表该证书的公用名 (CN),它显示在证书对象上的**“已发布到”**旁边。

如果该证书的公用名与分析工具用于访问资源的 URL 不匹配,则该工具会发布一条证书主体不匹配的警告消息。这表示,用户可能无法使用 Microsoft Office Outlook® Web Access for Exchange Server 2003、Outlook Anywhere for Exchange Server 2007、Exchange Server ActiveSync 或 RPC over HTTP 连接到其邮箱。

在此方案中,当用户尝试连接到 Exchange 时,系统可能会反复提示其输入凭据;或者,当用户尝试连接到 Exchange 资源时,可能会收到以下错误消息:

与邮件服务器的加密连接不可用。单击“下一步”尝试使用未加密的连接。

如果以下任一条件为真,则会发生证书主体不匹配错误:

  • 该证书具有不正确的公用名。
  • 如果该服务器有多个 DNS 名称,则客户端通过使用不正确的 URL 访问服务器上的数据。
  • Exchange 传输服务器上存在已过时或不正确的**“接受的域”**条目。

Exchange 需要有证书才能运行 SSL 协议(如 HTTPS)。在 Exchange 2007 中,可以使用某个支持使用者备用名称 (SAN) 的证书。这样该证书即可支持具有不同名称的资源,如 Outlook Anywhere 和 Autodiscover Web 应用程序。

note注意:
有关如何在 Exchange 2007 中使用通配符证书 (*) 的详细信息,请参阅 证书在 Exchange 2007 Server 中的使用

但是,当使用 SAN 证书时,如果在主体(“已发布到”)名称和客户端用于访问资源的 FQDN 之间发生不匹配,您会收到证书主体不匹配错误。

解决证书名称不匹配

  1. 确定客户端用于访问资源的 FQDN。例如,若要验证 Outlook 使用的 FQDN,请按照下列步骤执行操作:

    1. 启动 Microsoft Outlook。
    2. 在**“工具”菜单上,单击“帐户设置”**。
    3. 依次单击**“电子邮件”选项卡、Exchange 帐户和“更改”**。
    4. 单击“更多设置”,然后单击“连接”选项卡。
    5. 单击“Exchange 代理设置”。
    6. 请注意,FQDN 在**“仅连接到其证书中包含该主体名称的代理服务器”**框中列出。例如,mail.contoso.com
  2. 使用 Exchange 命令行管理程序,确定如下 CertPrincipalName 属性的值:

  3. Get-OutlookProvider

  4. 此命令返回 EXPR 名称的结果。例如,该命令返回以下内容:msstd:server1.contoso.com

  5. 使用 Exchange 命令行管理程序修改 CertPrincipalName 属性以匹配 Outlook 用于访问该资源的 FQDN。为此,请使用以下命令:

    Set-OutlookProvider EXPR -CertPrincipalName:"msstd:<FQDN the certificate is issued to>"
    
note注意:
当您获得 Exchange 的证书时,最好将可外部访问的 DNS 名称用作证书主体名称。例如,将 mail.contoso.com 用作 SAN 证书的主要名称。

如果分析工具检测到应用于 Exchange 中不再存在的内部 SMTP 域的已接受的域条目时,也会发生此错误。

若要解决此问题,必须删除应用于不再存在或不再使用的 SMTP 域的收件人策略。

查看 Exchange 中的接受的域

  1. 启动 Exchange 管理控制台。

  2. 展开**“组织配置”,再单击“传输服务器”。例如,“集线器传输”。对于边缘传输服务器,请单击“边缘传输”**。

  3. 在细节窗格中,单击**“接受的域”选项卡。检查“接受的域”**列表中出现的条目,以确定是否存在应该删除的条目。

详细信息

有关如何使用 SSL 以及如何获得并安装服务器证书的信息,请参阅 Exchange Server 客户端访问指南 中的“配置 Exchange Server 2003 以接受客户端访问”。

  • 有关如何使用 SSL 以及如何为 Exchange Server 2007 获取并安装服务器证书的信息,请参阅 如何为 Outlook Anywhere 配置 SSL
  • 有关如何在 Exchange 2007 SP2 和更高版本的 Exchange 中配置 Autodiscover 服务以便获得 Internet 访问的详细信息,请参阅 White Paper:Exchange 2007 Autodiscover Service 中的“How to Configure the Autodiscover Service for Internet Access”。