Обновление сертификатов федерации

В этой статье описано, как обновить самозаверяющий сертификат, используемый в доверии федерации:

  • Если срок действия сертификата федерации не истек, выполните действия, описанные в разделе Обновление рабочего сертификата федерации.

  • Если срок действия сертификата федерации истек, выполните действия, описанные в разделе Замена сертификата федерации с истекшим сроком действия.

Примечание.

По умолчанию после продления сертификата сертификат с истекшим сроком действия, связанный с доверием федерации, нельзя удалить из объекта доверия федерации.

Дополнительные сведения о довериях федерации и федерации см. в статье Федерация.

Что нужно знать перед началом работы

  • Предполагаемое время выполнения: 10 минут.

  • Для выполнения этой процедуры (процедур) необходимы соответствующие разрешения. Сведения о необходимых разрешениях см. в записи "Федерация и сертификаты" в разделе Разрешения инфраструктуры Exchange и оболочки .

  • В процедурах, описанных в этом разделе, используется командная консоль Exchange. Сведения о том, как открыть командную консоль Exchange в локальной организации Exchange, см. в статье Open the Shell.

  • Чтобы узнать, истек ли срок действия сертификата федерации, выполните следующую команду в командной консоли Exchange:

    Get-ExchangeCertificate -Thumbprint (Get-FederationTrust).OrgCertificate.Thumbprint | Format-Table -Auto Thumbprint,NotAfter
    
  • Сочетания клавиш для процедур, описанных в этой статье, приведены в статье Сочетания клавиш в Центре администрирования Exchange.

Предупреждение

Возникли проблемы? Обратитесь за помощью к участникам форумов Exchange. Посетите форумы по адресу Exchange Server.

Обновление рабочего сертификата федерации

Если срок действия сертификата федерации не истек, вы можете обновить его.

Шаг 1. Создание сертификата федерации

Выполните следующую команду в командной консоли Exchange, чтобы создать сертификат федерации:

$SKI = [System.Guid]::NewGuid().ToString("N"); New-ExchangeCertificate -DomainName 'Federation' -FriendlyName "Exchange Delegation Federation" -Services Federation -SubjectKeyIdentifier $SKI -PrivateKeyExportable $true

Дополнительные сведения о синтаксисе и параметрах см. в разделе New-ExchangeCertificate.

Выходные данные команды содержат значение отпечатка нового сертификата. Это значение понадобится на оставшихся шагах, и вы можете скопировать его непосредственно из окна командной консоли Exchange:

  1. Щелкните правой кнопкой мыши в окне командной консоли Exchange и выберите Пометить в появившемся диалоговом окне.

  2. Выберите значение отпечатка и нажмите клавишу ВВОД.

Для других процедур, описанных в этом разделе, мы будем использовать значение отпечатка сертификата федерации: 6A99CED2E4F2B5BE96C5D17D662D217EF58B8F73. Ваше значение отпечатка сертификата будет отличаться.

Шаг 2. Настройка нового сертификата как сертификата федерации

Чтобы настроить новый сертификат как сертификат федерации с помощью командной консоли Exchange, используйте следующий синтаксис:

Set-FederationTrust -Identity "Microsoft Federation Gateway" -Thumbprint <Thumbprint> -RefreshMetaData

В этом примере используется значение 6A99CED2E4F2B5BE96C5D17D662D217EF58B8F73 отпечатка сертификата из шага 1.

Set-FederationTrust -Identity "Microsoft Federation Gateway" -Thumbprint 6A99CED2E4F2B5BE96C5D17D662D217EF58B8F73 -RefreshMetaData

Дополнительные сведения о синтаксисе и параметрах см. в статье Set-FederationTrust.

Примечание: Выходные данные команды содержат предупреждение о том, что необходимо обновить запись TXT подтверждения владения доменом в DNS. Вы сделаете это на следующем шаге.

Шаг 3. Обновление TXT-записи о принадлежности домена во внешней DNS

Вы можете безопасно выполнить этот шаг сейчас, так как запись TXT подтверждения владения доменом проверяется только во время активации (шаг 5). Однако после обновления записи TXT и перед переходом к следующему шагу необходимо предоставить время для распространения обновленной записи TXT (в зависимости от времени жизни или значения срока жизни записи DNS).

  1. Найдите нужные значения для необходимых TXT-записей, выполнив следующую команду в командной консоли Exchange:

    Get-FederatedDomainProof -DomainName <Domain> | Format-List Thumbprint,Proof
    

    Например, если федеративным является домен contoso.com, выполните следующую команду:

    Get-FederatedDomainProof -DomainName contoso.com | Format-List Thumbprint,Proof
    

    Команда возвращает такие сведения:

    Thumbprint : <new certificate thumbprint> (for example, 6A99CED2E4F2B5BE96C5D17D662D217EF58B8F73)
    
    Proof      : <new hash text> (for example, znMfbkgSbOQSsWFdsW+gm3to0nZSdE3zbcPPHGVAqdgsLFGsCPuLHiyVbKoPmgyZKX90NH2g1PbCZH0YTQF6oA==)
    
    Thumbprint : <old certificate thumbprint> (for example, CC9BC204BB4DC60D06FC1F10F3C373DC785DA2A5)
    
    Proof      : <old hash text> (for example, m4gZX7OLr9iOWYJMVjEklQpoSkPb5hSbcFjD7Q3/vsqmdJ2Z+HcSt7j5pzBKFmEW2s27JYr3xsK2POzAI/8Ffw==)
    

    Обратите внимание, команда возвращает сведения о двух записях: для нового сертификата и текущего сертификата, который вы заменяете. Определить, какие сведения относятся к какому сертификату, можно по значению отпечатка и текстовому значению хэша, настроенному в текущей TXT-записи о принадлежности домена во внешней (общедоступной) DNS.

  2. Обновите TXT-запись о принадлежности домена во внешней DNS. Инструкции зависят от поставщика услуг DNS, но вы можете изменить текущую TXT-запись, чтобы заменить текущее текстовое значение хэша на новое. Дополнительные сведения см. в разделе Exchange Online статьи Записи системы внешних доменных имен для Office 365.

Шаг 4. Проверка распространения нового сертификата федерации по всем серверам Exchange

Exchange автоматически распространяет новый сертификат федерации по всем серверам.

Чтобы проверить распространение нового сертификата федерации с помощью командной консоли Exchange, выполните следующую команду:

$Servers = Get-ExchangeServer; $Servers | foreach {Get-ExchangeCertificate -Server $_ | Where {$_.Services -match 'Federation'}} | Format-List Identity,Thumbprint,Services,Subject

Примечание: В Exchange 2010 выходные данные командлета Test-FederationCertificate содержат имена серверов. Выходные данные командлета в Exchange 2013 или более поздней версии не включают имена серверов.

Шаг 5. Активация нового сертификата федерации

Чтобы активировать новый сертификат федерации с помощью командной консоли Exchange, выполните следующую команду:

Set-FederationTrust -Identity "Microsoft Federation Gateway" -PublishFederationCertificate

Дополнительные сведения о синтаксисе и параметрах см. в статье Set-FederationTrust.

Примечание: Выходные данные команды содержат предупреждение о том, что необходимо обновить запись TXT подтверждения владения доменом в DNS (что вы уже сделали на шаге 3).

Как проверить, все ли получилось?

Чтобы убедиться, что вы обновили сертификат федерации, выполните следующие действия:

  • В Командная консоль Exchange выполните указанную ниже команду, чтобы убедиться, что используется новый сертификат.

    Get-FederationTrust | Format-List *priv*
    
    • Свойство OrgPrivCertificate должно содержать отпечаток нового сертификата федерации.

    • Свойство OrgPrevPrivCertificate должно содержать отпечаток старого (замененного) сертификата федерации.

  • В командной консоли Exchange замените <адрес> электронной почты пользователя адресом электронной почты пользователя в организации и выполните следующую команду, чтобы убедиться, что доверие федерации работает:

    Test-FederationTrust -UserIdentity <user's email address>
    

Замена сертификата федерации с истекшим сроком действия

Если срок действия сертификата федерации уже истек, вам нужно удалить все федеративные домены из доверия федерации, а затем удалить и заново создать доверие федерации.

  1. Если у вас несколько федеративных доменов, основной общий домен необходимо удалить в последнюю очередь. Чтобы определить основной общий домен и все федеративные домены с помощью командной консоли Exchange, выполните следующую команду:

    Get-FederatedOrganizationIdentifier | Format-List AccountNamespace,Domains
    

    Значение свойства AccountNamespace содержит основной общий домен в формате FYDIBOHF25SPDLT<primary shared domain>. Например, в значении FYDIBOHF25SPDLT.contoso.comcontoso.com является основным общим доменом.

  2. Удалите все федеративные домены, кроме общего основного домена, выполнив следующую команду в командной консоли Exchange:

    Remove-FederatedDomain -DomainName <domain> -Force
    
  3. После этого удалите общий основной домен, выполнив следующую команду в командной консоли Exchange:

    Remove-FederatedDomain -DomainName <domain> -Force
    
  4. Удалите доверие федерации, выполнив следующую команду в командной консоли Exchange:

    Remove-FederationTrust "Microsoft Federation Gateway"
    
  5. Создайте доверие федерации заново. Инструкции см. в разделе Настройка доверия федерации.