Partilhar via


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 Certificateamigá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.

  1. 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 @()
    
  2. 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
    
  3. 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.