Office 365 ADFS Token Signing 证书过期警告问题

问题: 在Office365部署了单点登录的环境中,Office365管理员控制台收到提示“…您的ADFS证书即将过期”,示例图如下:

这里指的证书一般是我们在部署SSO的时候,ADFS服务器生成的自签名证书(Token-Signing和Token-Decrypting的证书)

如下是更新证书的步骤:

  1. 首先连接到Windows Azure AD PowerShell Module(步骤https://technet.microsoft.com/en-us/library/jj151815.aspx#BKMK_connect )
  2. 然后执行以下步骤:

首先需要在AD FS Management Console 和Azure AD Powershell里面查看Token Signing 证书的现有状态:

Set-MsolADFSContext –Computer <your adfs servername> (如果执行操作的机器不是ADFS服务器,则需要运行此命令,否则可以跳过这个命令)

Get-MSOLFederationProperty –DomainName <your domainname>

输出结果如下图:

注意查看Token Signing Certificate “not after” 日期和 thumbprint, 两个Source: “your AD FS Server” 和 “Microsoft Office365”当中的数据应该是一致的。

接下来在ADFS Management Console上验证:

在Console点击 Add Token-Signing Certificate,如下图:

会收到如下警告,其中包含接下来要做的操作:

已管理员运行Windows PowerShell,然后执行以下命令:

Add-PSSnapin Microsoft.Adfs.Powershell

Update-ADFSCertificate -CertificateType: Token-Signing -Urgent:$true

完成后,查看Console当中的证书状态:

接下来,我们需要用这张新的证书更新Microsoft Federation Gateway:

命令如下:

Update-MSOLFederatedDomain –DomainName <your domainname>

完成后查看现在的输出:

Get-MSOLFederationProperty –DomainName <your domainname>

对于 token decryption 证书也执行如上步骤, 唯一一点区别是 先运行如下命令:

Update-ADFSCertificate -CertificateType: Token-decrypting -Urgent:$true

然后:

Update-MSOLFederatedDomain –DomainName <your domainname>

为了避免这种问题,我们可以使用 Microsoft Office 365 Federation Metadata Update Automation Installation Tool

https://gallery.technet.microsoft.com/scriptcenter/Office-365-Federation-27410bdc