Обслуживание сертификата OAuth Exchange Server

Общие сведения

В этой документации описаны действия, необходимые для смены сертификата проверки подлинности Exchange Server без прерывания работы службы Exchange и до истечения срока действия текущего сертификата.

Совет

Можно также использовать скрипт MonitorExchangeAuthCertificate . Он выполняет необходимые действия по автоматической смене сертификата OAuth. Он также может помочь заменить сертификат OAuth, если срок его действия уже истек.

Конфигурация проверки подлинности и сертификат проверки подлинности используются сервером Microsoft Exchange для включения проверки подлинности между серверами с использованием стандарта протокола Open Authorization (OAuth). Дополнительные сведения об этом см. в следующей статье Планирование интеграции Exchange с SharePoint и Skype для бизнеса

Сертификат проверки подлинности также используется несколькими Exchange Server функциями безопасности.

Во время установки первого сервера Exchange Server подпрограмма установки создает самозаверяющий сертификат с понятным именем Microsoft Exchange Server Auth Certificate, который затем добавляется в новую конфигурацию проверки подлинности. Этот сертификат автоматически реплицируется на все интерфейсные серверы в организации Exchange. Служба сертификатов Exchange выполняет репликацию, которая является частью MSExchangeServiceHost процесса. При добавлении дополнительных серверов в организацию Exchange servicelet выполняется репликация сертификата на все серверы Exchange, которые были добавлены в организацию.

Сертификат, настроенный как текущий сертификат проверки подлинности, можно запросить, выполнив следующий запрос PowerShell (должен быть выполнен в командной консоли Exchange):

(Get-AuthConfig).CurrentCertificateThumbprint | Get-ExchangeCertificate | Format-List Subject, Thumbprint, NotAfter, NotBefore

Если вызов завершается ошибкой со следующим предупреждением, это означает, что текущий сертификат проверки подлинности отсутствует на сервере.

A special Rpc error occurs on server <Servername>: The certificate with thumbprint <AuthCertificateThumbprint> was not found.

Следуйте инструкциям, приведенным в разделе "Какие действия следует выполнить, если срок действия текущего сертификата уже истек или отсутствует", чтобы исправить.

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

(Get-AuthConfig).NextCertificateThumbprint | Get-ExchangeCertificate | Format-List Subject, Thumbprint, NotAfter, NotBefore

Если вызов завершается ошибкой с тем же предупреждением, что и для текущего сертификата проверки подлинности, это означает, что следующий сертификат проверки подлинности не настроен или отсутствует на сервере.

Если срок действия текущего сертификата проверки подлинности скоро истечет, выполните инструкции, описанные в разделе Как сменить сертификат проверки подлинности Exchange Server.

Какие действия следует выполнить, если срок действия текущего сертификата уже истек или отсутствует?

В этом случае необходимо немедленно заменить старый сертификат проверки подлинности новым. Следуйте инструкциям, описанным в разделе о решениях следующей статьи поддержки: Не удается войти в Outlook в Интернете или EAC, если срок действия сертификата OAuth Exchange Server истек.

Смена сертификата проверки подлинности Exchange Server

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

Важно!

Убедитесь, что у вас установлена последняя Exchange Server накопительного обновления (CU), так как она содержит исправления, влияющие на соответствующую функцию Exchange.

  1. Создайте новый сертификат проверки подлинности, выполнив следующую команду:

    $newAuthCertificate = New-ExchangeCertificate -KeySize 2048 -PrivateKeyExportable $true -SubjectName "cn=Microsoft Exchange Server Auth Certificate" -FriendlyName "Microsoft Exchange Server Auth Certificate" -DomainName @()
    
  2. Не перезаписывайте существующий SMTP-сертификат по умолчанию (введите "N" и нажмите клавишу ВВОД):

    Confirm
    Overwrite the existing default SMTP certificate?
    
    Current certificate: '<DefaultSMTPCertificateThumbprint>' (expires 12/30/2027 2:39:08 PM)
    Replace it with certificate: '<NewCertificateThumbprint>' (expires 1/5/2028 9:04:48 AM)
    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): N
    
  3. Настройте сертификат проверки подлинности, чтобы он стал новым активным через 49 часов.

    Set-AuthConfig -NewCertificateThumbprint $newAuthCertificate.Thumbprint -NewCertificateEffectiveDate (Get-Date).AddHours(49)
    

Примечание.

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

За окончательный процесс публикации сертификата проверки подлинности отвечает сертификат Exchange AuthAdmin, который также является частью MSExchangeServiceHost этого процесса. Servicelet выполняется немедленно при перезапуске MSExchangeServiceHost службы. Затем он выполняется каждые 12 часов и, если обнаруживает, что NewCertificateEffectiveDate достигнут, он публикует новый сертификат проверки подлинности, чтобы сделать его новым активным.

Вы можете запросить последнюю среду выполнения servicelet AuthAdmin, выполнив следующие командлеты PowerShell:

[xml]$xml = Get-ExchangeDiagnosticInfo -Process "Microsoft.Exchange.ServiceHost"
$xml.Diagnostics.Components.AnchorApplication.AnchorServiceComponents.CacheScheduler.lastRunTime

Каждый запуск служебного модуля AuthAdmin регистрируется в следующем каталоге: <ExchangeInstallPath>\Logging\AuthAdminLogs

При успешном завершении смены сертификата проверки подлинности с помощью служебного кода создается новая запись журнала событий:

Log Name:      Application
Source:        MSExchange AuthAdmin
Date:          12/29/2022 5:56:13 AM
Event ID:      2014
Task Category: General
Level:         Information
Keywords:      Classic
User:          N/A
Description:   The current signing certificate for Exchange has been updated to certificate with thumbprint <NewExchangeCertificateThumbprint>.

Примечание.

Чтобы обеспечить запуск служебной программы AuthAdmin, необходимо включить AuthAdminReadSession, когда серверы Exchange Server установлены в дочернем домене, а системный почтовый ящик находится в корневом домене. В противном случае не удастся запустить служебнуюлет AuthAdmin.

Set-OrganizationConfig -EnableAuthAdminReadSession:$true

Вопросы и ответы

Вопрос: Требуется ли повторно запустить мастер гибридной конфигурации (HCW) после замены сертификата проверки подлинности?

Ответ: Да, мы настоятельно рекомендуем запустить мастер гибридной конфигурации (HCW) после замены активного сертификата проверки подлинности.

Вопрос: Что делать, если новый сертификат проверки подлинности отсутствует на сервере Exchange Server на другом сайте Active Directory (AD)?

Ответ: Вы можете экспортировать сертификат с помощью командлета Export-ExchangeCertificate и импортировать его через Import-ExchangeCertificate на сервере на другом сайте AD. Сертификат servicelet отвечает за репликацию на остальные серверы Exchange, расположенные на сайте AD.