Manter o certificado OAuth do Exchange Server
Informações gerais
Esta documentação descreve os passos necessários para rodar o Certificado de Autenticação do Exchange Server sem interromper o serviço Exchange e antes de o atual expirar.
Dica
Também pode utilizar o script MonitorExchangeAuthCertificate . Executa os passos necessários para rodar automaticamente o certificado OAuth. Também pode ajudá-lo a substituir o certificado OAuth se já tiver expirado.
A Configuração de Autenticação e o Certificado de Autenticação são utilizados pelo servidor Do Microsoft Exchange para ativar a autenticação servidor a servidor com a norma de protocolo Open Authorization (OAuth). Pode encontrar mais informações sobre o mesmo no seguinte artigo: Planear a integração do Exchange com o SharePoint e o Skype para Empresas
O Certificado de Autenticação também é utilizado por várias funcionalidades de segurança do Exchange Server.
Durante a instalação do primeiro servidor Exchange, a rotina de configuração gera um certificado autoassinado com o nome Microsoft Exchange Server Auth Certificate
amigável , que é depois adicionado a uma nova Configuração de Autenticação. Este certificado é replicado automaticamente para todos os servidores front-end na organização do Exchange. O servicelet de certificado do Exchange executa a replicação, que faz parte do MSExchangeServiceHost
processo. Se adicionar mais servidores à sua organização do Exchange, o servicelet trata de replicar o certificado para todos os servidores exchange, que foram adicionados à organização.
O certificado, que está configurado como Certificado de Autenticação atual, pode ser consultado ao executar a seguinte consulta do PowerShell (tem de ser executado na Shell de Gestão do Exchange):
(Get-AuthConfig).CurrentCertificateThumbprint | Get-ExchangeCertificate | Format-List Subject, Thumbprint, NotAfter, NotBefore
Se a chamada falhar com o seguinte aviso, significa que o Certificado de Autenticação atual está em falta no servidor.
A special Rpc error occurs on server <Servername>: The certificate with thumbprint <AuthCertificateThumbprint> was not found.
Siga as instruções mencionadas na secção "Quais são os passos a seguir se o certificado atual já expirou ou está em falta" para corrigir.
O certificado, que está configurado como certificado de autenticação seguinte, pode ser consultado da seguinte forma:
(Get-AuthConfig).NextCertificateThumbprint | Get-ExchangeCertificate | Format-List Subject, Thumbprint, NotAfter, NotBefore
Se a chamada falhar com o mesmo aviso do Certificado de Autenticação atual, significa que o próximo Certificado de Autenticação não está configurado ou está em falta no servidor.
Siga as instruções descritas em "Como rodar o Certificado de Autenticação do Exchange Server" se o Certificado de Autenticação atual estiver prestes a expirar.
Quais são os passos a seguir se o certificado atual já tiver expirado ou estiver em falta?
Neste caso, é necessário substituir imediatamente o Certificado de Autenticação antigo por um novo. Siga as instruções descritas na secção resoluções do seguinte artigo de suporte: Não é possível iniciar sessão no Outlook na Web ou no EAC se o certificado OAuth do Exchange Server tiver expirado
Como rodar o Certificado de Autenticação do Exchange Server
É importante substituir o Certificado de Autenticação ativo por um novo, antes de expirar. Ao fazê-lo, garante uma transição suave para um novo certificado sem interromper o serviço Exchange. Pode seguir os passos abaixo para preparar e preparar um novo Certificado de Autenticação.
Importante
Certifique-se de que tem a Atualização Cumulativa () mais recente do Exchange Server instalada porque contém correções que afetam a funcionalidade do Exchange correspondente.
Gere um novo Certificado de Autenticação ao executar o seguinte comando:
$newAuthCertificate = New-ExchangeCertificate -KeySize 2048 -PrivateKeyExportable $true -SubjectName "cn=Microsoft Exchange Server Auth Certificate" -FriendlyName "Microsoft Exchange Server Auth Certificate" -DomainName @()
Não substitua o certificado SMTP predefinido existente (Escreva 'N' e prima Enter):
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
Configure o Certificado de Autenticação para se tornar o novo ativo em 49 horas o mais cedo possível:
Set-AuthConfig -NewCertificateThumbprint $newAuthCertificate.Thumbprint -NewCertificateEffectiveDate (Get-Date).AddHours(49)
Consoante o tamanho da sua organização do Exchange, poderá demorar algum tempo até que o novo Certificado de Autenticação seja implementado em todos os servidores do Exchange. A nossa recomendação é planear, pelo menos, 48 horas antes de o Certificado de Autenticação recentemente gerado ficar ativo. Num ambiente exchange grande, pode demorar ainda mais tempo.
Uma referência ao Certificado de Autenticação é colocada em cache pelo MSExchangeOWAAppPool
conjunto aplicacional e MSExchangeECPAppPool
. Pode reciclar esses conjuntos aplicacionais para atualizar esta referência. Pode fazê-lo ao executar os seguintes comandos a partir de uma janela elevada do PowerShell:
Restart-WebAppPool MSExchangeOWAAppPool
Restart-WebAppPool MSExchangeECPAppPool
O servicelet AuthAdmin do Exchange, que também faz parte do MSExchangeServiceHost
processo, é responsável pelo processo final de publicação do Certificado de Autenticação. O servicelet é executado imediatamente se o MSExchangeServiceHost
serviço for reiniciado. Posteriormente, é executado a cada 12 horas e, se detetar que o NewCertificateEffectiveDate
é alcançado, publica o novo Certificado de Autenticação para torná-lo o novo ativo.
Para garantir que o servicelet AuthAdmin pode ser iniciado, tem de ativar quando os AuthAdminReadSession
servidores do Exchange estão instalados num domínio subordinado e a caixa de correio do sistema está localizada no domínio raiz. Caso contrário, o servicelet AuthAdmin não pode ser iniciado. Execute o seguinte cmdlet do PowerShell se os servidores exchange estiverem instalados na constelação descrita:
Set-OrganizationConfig -EnableAuthAdminReadSession:$true
Pode consultar o último runtime do servicelet AuthAdmin ao executar os seguintes cmdlets do PowerShell:
[xml]$xml = Get-ExchangeDiagnosticInfo -Process "Microsoft.Exchange.ServiceHost"
$xml.Diagnostics.Components.AnchorApplication.AnchorServiceComponents.CacheScheduler.lastRunTime
Cada execução do servicelet AuthAdmin é registada no seguinte diretório: <ExchangeInstallPath>\Logging\AuthAdminLogs
O servicelet gera uma nova entrada de registo de eventos quando a rotação do Certificado de Autenticação é concluída com êxito:
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>.
Perguntas frequentes
Pergunta: É necessário executar novamente o Assistente de Configuração Híbrida (HCW) após a substituição do Certificado de Autenticação?
Resposta: Sim, recomendamos vivamente que execute o Assistente de Configuração Híbrida (HCW) após a substituição do Certificado de Autenticação ativo.
Pergunta: O que devo fazer se o novo Certificado de Autenticação estiver em falta num servidor Exchange num site do Active Directory (AD) diferente?
Resposta: Pode exportar o certificado com o cmdlet Export-ExchangeCertificate e importá-lo através de Import-ExchangeCertificate num servidor no outro site do AD. O servicelet de certificado trata da replicação para os restantes servidores do Exchange localizados no site do AD.