Regra de Recolha para evento com origem CertificationAuthority e ID 22

Microsoft.Windows.CertificateServices.CARole.6.2.CertSvcEvents.22 (Rule)

Os Serviços de Certificados não conseguiram processar um pedido.

Knowledge Base article:

Resumo

Uma das principais funções de uma autoridade de certificação (AC) é avaliar os pedidos de certificados feitos por clientes e, se os critérios predefinidos estiverem reunidos, emitir certificados para esses clientes. Para a inscrição de certificado ter êxito, é necessário reunir uma série de elementos antes de submeter o pedido, nomeadamente, necessita de uma AC com um certificado de AC válido, modelos de certificados, contas de clientes e pedidos de certificados devidamente configurados, e uma forma de o cliente submeter o pedido à AC, ter o pedido validado e instalar o certificado emitido.

Resoluções

Corrigir problemas que impeçam o processamento de pedidos de certificados

Há vários problemas que podem impedir o processamento de um pedido de certificado. Se a mensagem do registo de eventos não contém todas as informações de que necessita para corrigir o problema, os erros e avisos adicionais que antecedam ou que aparecem depois desta mensagem do registo de eventos podem ajudar a identificar a causa. 

Para identificar e resolver problemas que podem bloquear o processamento de pedidos de certificados:

Os procedimentos que se seguem exigem que tenha permissão para gerir AC ou que lhe tenha sido delegado o nível de autoridade apropriado.

Confirmar a cadeia de certificados para a AC

Para validar a cadeia para a AC:

Gerar e publicar CRLs novas

Se a saída da linha de comandos indicar que uma CRL de uma AC expirou, gere CRLs base e delta novas na AC e copie-as para as localizações pretendidas. Pode ter de reiniciar uma AC offline para fazer isto.

Na AC, verifique a CRL publicada atual. Por predefinição, a AC cria CRLs na pasta %windir%\System32\CertSrv\CertEnroll. Se as CRLs presentemente nesta localização tiverem expirado ou forem inválidas, pode utilizar os procedimentos seguintes para publicar uma CRL nova.

Para publicar uma CRL nova utilizando o snap-in da Autoridade de Certificação:

Pode também gerar e publicar CRLs a partir de uma linha de comandos.

Para publicar uma CRL utilizando a ferramenta de linha de comandos Certutil:

Se uma CRL for identificada como indisponível mas existe uma CRL válida no diretório local na AC, confirme se a AC consegue ligar ao ponto de distribuição de CRL e depois aplique os passos anteriores para gerar e publicar as CRLs outra vez.

As CRLs podem ser publicadas manualmente nos Serviços de Domínio do Active Directory (AD DS) utilizando o seguinte comando:

certutil -dspublish"<crlname.crl>" ldap:///CN=<CA name>,CN=<CA hostname>,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=<contoso>,DC=<com>?certificateRevocationList?base?objectClass=cRLDistributionPoint

Substitua crlname.crl pelo nome do seu ficheiro CRL, <CA name> e <CA hostname> pelo nome da sua AC, e o nome do anfitrião onde essa AC é executada e <contoso> e <com> pelo espaço de nomes do seu domínio do Active Directory.

Confirmar os pontos de distribuição configurados da CRL

Verifique todos os pontos de distribuição configurados da CRL para confirmar se a publicação teve êxito e se há CRLs novas disponíveis na rede.

Para verificar os pontos de distribuição configurados da CRL utilizando o snap-in da Autoridade de Certificação:

Para verificar os URLs dos pontos de distribuição configurados da CRL utilizando Certutil:

Verificar a fila de pedidos falhados na AC

Para verificar a fila de pedidos falhados na AC utilizando o snap-in da Autoridade de Certificação:

Para verificar os pedidos falhados utilizando Certutil:

Adicional

Para confirmar se o processamento do pedido de certificado está a funcionar corretamente:

Element properties:

TargetMicrosoft.Windows.CertificateServices.CARole.6.2
CategoryEventCollection
EnabledTrue
Event_ID22
Event SourceMicrosoft-Windows-CertificationAuthority
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
Processamento (Inscrição) de Pedidos de Certificados AD CS
Descrição do Evento: {0}
Event LogApplication

Member Modules:

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

Source Code:

<Rule ID="Microsoft.Windows.CertificateServices.CARole.6.2.CertSvcEvents.22" Enabled="onEssentialMonitoring" Target="CSDisc!Microsoft.Windows.CertificateServices.CARole.6.2" 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="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">22</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-CertificationAuthority</Value>
</ValueExpression>
</SimpleExpression>
</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="AlertMessageID515b77767c984710bc8f71a810107927"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>