将服务器到服务器的身份验证证书分配给 Microsoft Lync Server 2013

 

上次修改的主题: 2013-10-24

若要确定是否已将服务器到服务器的身份验证证书分配给 Microsoft Lync Server 2013,请从 Lync Server 2013 Management Shell 运行以下命令:

Get-CsCertificate -Type OAuthTokenIssuer

如果没有返回任何证书信息,则必须在分配令牌颁发者证书后才能使用服务器到服务器身份验证。 一般情况下,任何 Lync Server 2013 证书都可以用作 OAuthTokenIssuer 证书;例如,Lync Server 2013 默认证书也可以用作 OAuthTokenIssuer 证书。 (OAUthTokenIssuer 证书也可以是包含 Subject 字段中 SIP 域名称的任何 Web 服务器证书。) 用于服务器到服务器身份验证的证书的主要两个要求是:1) 必须将同一证书配置为所有前端服务器上的 OAuthTokenIssuer 证书:并且,2) 证书必须至少为 2048 位。

如果没有可用于服务器到服务器身份验证的证书,则可以获取新证书,导入新证书,然后将该证书用于服务器到服务器身份验证。 请求并获取新证书后,可以登录到任何一台前端服务器,并使用类似于此证书的Windows PowerShell命令导入和分配该证书:

Import-CsCertificate -Identity global -Type OAuthTokenIssuer -Path C:\Certificates\ServerToServerAuth.pfx  -Password "P@ssw0rd"

在上述命令中,Path 参数表示证书文件的完整路径,Password 参数表示分配给该证书的密码。 此过程应只运行一次:然后 Lync Server 的复制服务将自动创建一组计划任务,这些任务将解密证书并将其部署到所有前端服务器。

您也可以使用现有证书作为服务器到服务器身份验证证书。 (如前所述,默认证书可以用作服务器到服务器的身份验证证书。) 以下一对Windows PowerShell命令检索默认证书的指纹属性的值,然后使用该值使默认证书成为服务器到服务器的身份验证证书:

$x = (Get-CsCertificate -Type Default).Thumbprint
Set-CsCertificate -Identity global -Type OAuthTokenIssuer -Thumbprint $x

在前面的命令中,检索到的证书配置为充当全局服务器到服务器的身份验证证书;这意味着证书将复制到所有前端服务器并由其使用。 同样,此命令只应运行一次,并且只在其中一台前端服务器上运行。 尽管所有前端服务器都必须使用相同的证书,但不应在每个前端服务器上配置 OAuthTokenIssuer 证书。 相反,配置证书一次,然后让 Lync Server 的复制服务器负责将该证书复制到每个服务器。

Set-CsCertificate cmdlet 获取相关证书,并立即将该证书配置为充当当前 OAuthTokenIssuer 证书。 (Lync Server 2013 保留证书类型的两个副本:当前证书和上一个证书。) 如果需要新证书立即开始充当 OAuthTokenIssuer 证书,则应使用Set-CsCertificate cmdlet。

您还可以使用 Set-CsCertificate cmdlet“滚动”新证书。 “滚动”证书仅意味着在指定时间点将新证书配置为成为当前 OAuthTokenIssuer 证书。 例如,此命令检索默认证书,然后将该证书配置为自 2012 年 7 月 1 日起接管为当前 OAuthTokenIssuer 证书:

$x = (Get-CsCertificate -Type Default).Thumbprint
Set-CsCertificate -Identity global -Type OAuthTokenIssuer -Thumbprint $x -EffectiveDate "7/1/2012" -Roll

2012 年 7 月 1 日,新证书将配置为当前 OAuthTokenIssuer 证书,“旧”OAuthTokenIssuer 证书将配置为以前的证书。

如果不想使用Windows PowerShell还可以使用证书 MMC 控制台从一台前端服务器导出证书,然后在所有其他前端服务器上导入同一证书。 如果执行此操作,请确保将私钥连同证书本身一起导出。

警告

在这种情况下,必须在每个前端服务器上执行该过程。 以这种方式导出和导入证书时,Lync Server 2013 不会将该证书复制到每个前端服务器。

将证书导入到所有前端服务器后,可以使用 Lync Server 部署向导而不是Windows PowerShell来分配该证书。 要使用部署向导分配证书,请在安装了部署向导的计算机上完成以下步骤:

  1. 单击“开始”,单击“所有程序”,单击 “Microsoft Lync Server 2013”,然后单击 “Lync Server 部署向导”。

  2. 在部署向导中,单击 “安装”或“更新 Lync Server 系统”。

  3. 在 Microsoft Lync Server 2013 页面上,单击标题“步骤 3:请求、安装或分配证书”下的“运行”按钮。 (注意:如果已在此计算机上安装证书,则“ 运行 ”按钮将标记为 “再次运行。)

  4. 在证书向导中,选择 OAuthTokenIssuer 证书,然后单击“分配”

  5. 在证书分配向导的“证书分配”页上,单击“下一步”

  6. 在“证书存储”页上,选择要用于服务器到服务器身份验证的证书,然后单击“下一步”

  7. 在“证书分配摘要”页上,单击“下一步”

  8. 在“正在执行命令”页上,单击“完成”

  9. 关闭证书向导和部署向导。