===== Проверка и переиздание сертификатов OAuth =====
В Exchange существует самоподписанный бэкенд-сертификат, который используется внутри Exchange и он же присвоен для сайта ''Exchange Backend''. В случае, если этот сертификат истёк - могут быть некоторые проблемы. В частности, проблема возникла при установке патча безопасности //KB5004778// (июль 2021), после установки которого отвалилась //OWA// и //ECP//. При этом, сертификат недостаточно было продлить в //ECP//.
В //Exchange// с //ADFS// окружением может наблюдаться следующая картина: при попытке открыть //OWA// или //ECP// в браузере увидим такую ошибку:
Microsoft.Exchange.Security.Authentication.AdfsConfigurationException: Encryption certificate is absent
Проверить сертификат можно следующим командлетом:
(Get-AuthConfig).CurrentCertificateThumbprint | Get-ExchangeCertificate | Format-List
Если сертификат просрочен, или команда возвращает ошибку (либо вообще ПУСТОЙ вывод), его следует сначала создать:
New-ExchangeCertificate -KeySize 2048 -PrivateKeyExportable $true -SubjectName "cn=Microsoft Exchange Server Auth Certificate" -FriendlyName "Microsoft Exchange Server Auth Certificate" -DomainName @()
:!: Команда выше создаст auth-сертификат сроком на 5 лет. Есть теоретическая возможность выпуска auth-сертификата сроком более 5 лет, однако, для этого придется использовать свой CA + эта возможность НЕ ДОКУМЕНТИРОВАНА Microsoft и существует риск возникновения нештатных проблем.
Теперь новый сертификат необходимо назначить серверу и опубликовать, используя отпечаток из предыдущего командлета:
Set-AuthConfig -NewCertificateThumbprint -NewCertificateEffectiveDate (Get-Date)
Set-AuthConfig -PublishCertificate
Set-AuthConfig -ClearPreviousCertificate
:!: В окружении из нескольких серверов //Exchange// - издаем и публикуем сертификат ОДИН раз, на любом сервере. На остальные серверы данный сертификат распространится автоматически.
После этого следует перезагрузить службу //MSExchangeServiceHost// и IIS:
Restart-Service "MSExchangeServiceHost"
IISReset
Если жёсткий рестарт //IIS// не подходит, можо перезапустить пулы:
Restart-WebAppPool MSExchangeOWAAppPool
Restart-WebAppPool MSExchangeECPAppPool
:!: ВАЖНО: публикация сертификата происходит не сразу - в случае с проблемным патчем OWA заработала только через несколько часов (два-четыре).
https://docs.microsoft.com/en-gb/exchange/troubleshoot/administration/cannot-access-owa-or-ecp-if-oauth-expired
{{tag>Exchange Microsoft WindowsServer Mail PowerShell OAuth ADFS Certificates}}