如何配置 SSL 证书以使用多个客户端访问服务器主机名称

 

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

上一次修改主题: 2007-10-24

该主题说明如何使用 Exchange 命令行管理程序配置安全套接字层 (SSL) 证书使用多个主机名称。

当部署的计算机正在运行安装了客户端访问服务器角色的 Microsoft Exchange Server 2007 时,必须确保所有的客户端(如 Outlook Web Access 和 Outlook 2007)都能够使用加密的会话连接到服务,而不会接收到错误消息指示证书不受信任。

note注意:
要使用 Internet Security and Acceleration (ISA) Server 处理与 Exchange 2007 的 SSL 连接,在请求在多个服务器上使用的证书或请求包含多个主机名的证书时,必须将证书自己的主题名称作为第一个 SAN 项。

通过使用 Exchange 命令行管理程序,可以创建证书请求以包含所有客户端访问服务器的 DNS 主机名。然后就可以使用户能够连接到在其他名称属性中列出的服务(如 Outlook Anywhere、Autodiscover、POP3 和 IMAP4 或统一消息)的证书。例如,用户可以通过指定名称连接到 Exchange 服务,如以下示例所示:

除了需要多个证书并为每个 IP 端口和证书绑定维护多个 IP 地址的配置和 Internet Information Services (IIS) 网站外,可以创建单一证书,使客户端能够使用 SSL 或传输层安全 (TLS) 成功连接到每个主机名称。

可以通过在证书请求上的证书“主题备用名称”属性添加所有可能的 DNS 名称值创建单一证书。基于 Microsoft Windows 的证书服务证书颁发机构应为这样的请求创建一个证书。

note注意:
第三方证书颁发结构或基于 Internet 的证书颁发结构将只对授权给您的 DNS 名称颁发证书。因此 Intranet DNS 名称可能不允许使用。

若要配置 SSL 证书使用多个客户端访问服务器主机名称,请执行下列操作:

  1. 使用 New-ExchangeCertificate cmdlet 创建证书请求文件。

  2. 将此文件发送到 Windows 证书服务证书颁发机构,并使用在“证书颁发机构”页上的“Web 服务器”模板。这样会生成一个 .cer 文件,可导入客户端访问服务器。

  3. 使用 Get-ExchangeCertificate cmdlet 决定证书的指纹。

  4. 导入证书后,可以使用 Enable-ExchangeCertificate cmdlet 将其分配给 IIS、IMAP4 和 POP3。

开始之前

若要执行以下步骤,必须为您使用的帐户委派 Exchange 仅查看管理员角色。

有关管理 Exchange 2007 所需的权限、角色委派以及权利的详细信息,请参阅权限注意事项

important要点:
在执行此过程之前,必须阅读 管理客户端访问安全性
important要点:
作为最佳安全实践,请使用不属于 Administrators 组的帐户登录到计算机,然后使用 runas 命令,以管理员的身份运行 IIS 管理器。在命令提示符下,键入 runas /user:Administrative_AccountName "mmc systemroot\system32\inetsrv\iis.msc"
important要点:
为 SSL 服务和 TLS 服务配置证书时,必须考虑许多变量。必须确保您了解这些变量如何影响您的整体配置。在继续之前,请阅读创建 TLS 证书或证书请求

步骤

使用 Exchange 命令行管理程序创建证书请求文件

  1. 运行以下命令:

    New-ExchangeCertificate -generaterequest -subjectname "dc=com,dc=contoso,o=Contoso Corporation,cn=exchange.contoso.com" -domainname exchange.contoso.com, CAS01,CAS01.exchange.corp.constoso.com, autodiscover.contoso.com -PrivateKeyExportable $true -path c:\certrequest_cas01.txt
    

    该命令将创建一个文本文件,其中包含 PKCS#10 格式的证书请求。

使用 Exchange 命令行管理程序导入证书

  1. 运行以下命令:

    Import-ExchangeCertificate -path <certificate_file_name>.cer -friendlyname "Contoso CAS01"
    

使用 Exchange 命令行管理程序决定证书指纹

  1. 若要决定指纹,请运行以下命令:

    Get-ExchangeCertificate -DomainName "CAS01"
    
note注意:
如果存在若干个证书与指定的主机名称匹配,该命令将返回多个证书。因此,请确保选择的是所请求的正确证书的指纹。

使用 Exchange 命令行管理程序分配证书到 IIS、POP3 和 IMAP4

  1. 若要分配证书到 IIS、POP3 和 IMAP4,请运行以下命令:

    Enable-ExchangeCertificate -thumbprint <certificate-thumbprint> -services "IIS,POP,IMAP"
    
  2. 或者,若要分配证书到服务器,该服务器再依次将证书分配给 Exchange 服务器上运行的所有服务,请运行以下命令:

    Import-ExchangeCertificate -path <certificate file name> -friendlyname "Contoso CAS01" | enable-exchangecertificate -services "IIS,POP,IMAP" 
    

有关 Import-ExchangeCertificateEnable-ExchangeCertificateGet-ExchangeCertificateNew-ExchangeCertificate cmdlet 语法和参数的详细信息,请参阅 全局 Cmdlet

详细信息

有关如何为 SSL 或 TLS 创建证书或证书请求的详细信息,请参阅创建 TLS 证书或证书请求