Um certificado na cadeia para o certificado da Autoridade de Certificação expirou.
A validação da cadeia ou do caminho é o processo pelo qual os certificados da entidade final (usuário ou computador) e todos os certificados da autoridade de certificação (AC) são processados hierarquicamente até que a cadeia de certificado termine em um certificado autoassinado confiável. Normalmente, é um certificado de AC raiz. A inicialização dos Serviços de Certificados do Active Directory (AD CS) pode falhar se houver problemas com disponibilidade, validade e validação da cadeia para o certificado da AC.
Reemita os certificados na cadeia para um certificado de AC expirado
O certificado da autoridade de certificação (AC) que expirou será identificado no log de evento. Para resolver esse problema:
Verifique se o certificado expirou.
Confirme a cadeia de certificado.
Se o problema persistir, habilite o CryptoAPI 2.0 Diagnostics, resolva quaisquer erros encontrados e reemita e reinstale os certificados expirados.
Para executar esses procedimentos, você deve ter uma permissão de Gerenciar AC ou ter recebido a devida autoridade.
Verifique a expiração do Certificado de Autoridade de Certificação
Para verificar se um Certificado de Autoridade de Certificação específico expirou:
No computador que hospeda a AC, clique em Iniciar, aponte para Ferramentas Administrativas e clique em Autoridade de Certificação.
Clique com o botão direito do mouse no nó da AC e clique em Propriedades.
Os certificados expirados serão listados com a palavra (expirado) na lista de certificados da AC. Se todos os certificados da AC estiverem expirados, você precisará renovar o certificado da AC e reemitir quaisquer certificados abaixo do certificado da AC expirado.
Para renovar o certificado da AC, clique com o botão direito no nó da AC, aponte para Todas as Tarefas e clique em Renovar Certificado de Autoridade de Certificação.
Depois de o certificado da AC ter sido renovado, reinicie a AC.
Se houver certificados não expirados na lista, encontre o certificado cujo número de Versão da Autoridade de Certificação combina com o ID de chave na mensagem de erro. Por exemplo, se o ID da chave for 2, o certificado com a Autoridade de Certificação Versão 2.1 ou 2.2 seria o certificado correto.
Caso esse certificado não tenha expirado, verifique se há problemas com a cadeia do certificado. Exporte o certificado para um arquivo e, em seguida, abra uma janela do prompt de comando, digite ;certutil -urlfetch -verify<CAcert.cer> e pressione ENTER. Substitua CAcert.cer pelo nome do arquivo de certificado.
Habilitar o CryptoAPI 2.0 Diagnostics
Para habilitar o CryptoAPI 2.0 Diagnostics:
No computador que hospeda a AC, clique em Iniciar, aponte para Ferramentas Administrativas e, em seguida, clique em Visualizador de Eventos.
Na árvore do console, expanda Visualizador de Eventos, Logs de Aplicativos e Serviços, Microsoft, Windows, e CAPI2.
Clique com o botão direito do mouse em Operacional e depois em Habilitar Log.
Clique em Iniciar, aponte para Ferramentas Administrativas e clique em Serviços.
Clique com o botão direito em Serviços de Certificados do Active Directory e clique em Reiniciar.
Para confirmar que o certificado da autoridade de certificação (AC) e a cadeia são válidos:
No computador hospedando a AC, clique em Iniciar, digite mmc e pressione ENTER.
Se a caixa de diálogo Controle de Conta de Usuário for exibida, confirme se a ação exibida é a opção que deseja usar e clique em Continuar.
No menu Arquivo, clique em Adicionar/Remover Snap-in, clique em Certificados e depois clique em Adicionar.
Clique em Conta do computador e clique em Avançar.
Clique em Concluir e depois clique em OK.
Na árvore do console, clique em Certificados (Computador Local) e depois em Pessoal.
Confirme que existe um certificado de AC não expirado nesse armazenamento.
Clique com o botão direito nesse certificado e selecione Exportar para iniciar o Assistente de Exportação de Certificado.
Exporte o certificado para um arquivo chamado Cert.cer.
Digite Iniciar, cmd e pressione ENTER.
Digite certutil -urlfetch -verify <cert.cer> e pressione ENTER.
Se nenhuma validação, construção de cadeia ou erros de verificação de revogação forem relatados, a cadeia é válida.
Target | Microsoft.Windows.CertificateServices.CARole.2016 | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | High | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
Alert | WriteAction | System.Health.GenerateAlert | Default |
WriteToCertSvcEvents | WriteAction | Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectEvent | Default |
<Rule ID="Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.58_Error" Enabled="true" Target="CSDisc!Microsoft.Windows.CertificateServices.CARole.2016" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-CertificationAuthority</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">58</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">1</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectEvent"/>
<WriteAction ID="WriteToCertSvcEvents" TypeID="Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher"/>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="AlertMessageIDa56c8730d300410882edc1f355f85f5d"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>