Regla de recopilación para evento con origen EntidadDeCertificación e id. 21

Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.21 (Rule)

Los Servicios de certificados no han podido procesar una solicitud.

Knowledge Base article:

Resumen

Una de las funciones principales de una entidad de certificación (CA) es evaluar las solicitudes de certificados de clientes y, si se cumplen los criterios predefinidos, emitir certificados a dichos clientes. Para que la inscripción de certificados se complete correctamente es necesario disponer de una serie de elementos antes de enviar la solicitud, entre los que se incluye una CA con un certificado de CA válido; plantillas de certificados configuradas correctamente, cuentas de clientes y solicitudes de certificados; y alguna forma para que el cliente pueda enviar la solicitud a la CA, se valide su solicitud e instale el certificado emitido.

Soluciones

Corrección de problemas que no permiten el procesamiento de solicitudes de certificados

Hay diversos problemas que pueden evitar que se procese una solicitud de certificado. Si el mensaje del registro de eventos no contiene toda la información que necesita para corregir el problema, los errores y advertencias que se produzcan antes o después del mensaje del registro de eventos pueden ayudarle a identificar la causa. 

Siga estos pasos para identificar y solucionar problemas que pueden bloquear el procesamiento de solicitudes de certificado:

Para llevar a cabo los procedimientos debe disponer de permiso para administrar CA o haber delegado la autoridad adecuada.

Confirmación de la cadena de certificados para la CA

Para validar la cadena de la CA:

Generación y publicación de nuevas CRL

Si los resultados de la línea de comandos indican que una de las CRL de una CA ha expirado, genere nuevas CRL de base y de diferencias en la CA y cópielas en las ubicaciones correspondientes. Es posible que para ello necesite reiniciar una CA sin conexión.

En la CA, compruebe la CRL publicada actual. De forma predeterminada, la CA crea CRL en la carpeta %windir%\System32\CertSrv\CertEnroll. Si las CRL que se encuentren en dicha ubicación han expirado o no son válidas, utilice el siguiente procedimiento para publicar una nueva CRL.

Para publicar una nueva CRL mediante el complemento "Entidad de certificación":

También puede generar y publicar CRL desde una ventana del símbolo del sistema.

Para publicar una CRL mediante la herramienta de línea de comandos Certutil:

Si una CRL se identifica como no disponible pero existe una CRL válida en el directorio local de la CA, confirme que la CA puede conectarse al punto de distribución de la CRL y, a continuación, use los pasos anteriores para volver a generar y publicar las CRL.

Las CRL se pueden publicar de forma manual en los servicios de dominio de Active Directory (AD DS) mediante el comando siguiente:

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

Sustituya crlname.crl por el nombre del archivo CRL, <nombre de CA> y <nombre de servidor de CA> por el nombre de su CA y nombre del host donde se ejecuta la CA; finalmente, sustituya <contoso> y <com> por el espacio de nombres de su dominio de Active Directory.

Confirmación de la configuración de los puntos de distribución de CRL

Compruebe que todos los puntos de distribución se hayan configurado correctamente para confirmar que la publicación sea correcta y que las nuevas CRL estén disponibles en la red.

Para comprobar los puntos de distribución de CRL mediante el complemento "Entidad de certificación":

Para comprobar la configuración de las direcciones URL del punto de distribución de CRL mediante Certutil:

Comprobación de la cola de solicitudes incorrectas en la CA

Para comprobar la cola de solicitudes incorrectas en la CA mediante el complemento "Entidad de certificación":

Para comprobar solicitudes incorrectas mediante Certutil:

Adicional

Para confirmar que el procesamiento de solicitud de certificados funciona correctamente:

Element properties:

TargetMicrosoft.Windows.CertificateServices.CARole.2016
CategoryEventCollection
EnabledTrue
Event_ID21
Event SourceMicrosoft-Windows-CertificationAuthority
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
Procesamiento de solicitud (inscripción) de certificados AD CS: error en la solicitud (detalles)
Descripción del 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.2016.CertSvcEvents.21" 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="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">21</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="AlertMessageID42b3cc830b884161b292de001ad930e4"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>