Collection Rule for event with source CertificationAuthority and ID 106

Microsoft.Windows.CertificateServices.CARole.2008.CertSvcEvents.106 (Rule)

Certificate Services cannot add a CA certificate to Active Directory

Knowledge Base article:

Summary

Active Directory Certificate Services (AD CS) requires at least Read access, and in some instances Write access, to certain objects in Active Directory Domain Services (AD DS). Failure to access these Active Directory objects can prevent AD CS from starting.

Resolutions

Enable AD CS to add a CA certificate to Active Directory Domain Services

To enable Active Directory Certificate Services (AD CS) to add the certification authority (CA) certificate identified in the event log message to Active Directory Domain Services (AD DS):

To perform this procedure, you must have membership in Domain Admins, or you must have been delegated the appropriate authority.

Confirm permissions on essential AD DS containers and objects

To confirm that the CA has needed permissions on AD DS containers and objects within these containers:

The following are all Active Directory permissions required by a computer hosting a CA. Some of these permissions are achieved via membership in the Cert Publishers group.

To perform these procedures, you must have Manage CA permission, or you must have been delegated the appropriate authority.

Determine if the CA certificate exists in the AIA container

To view the contents of the AIA container in AD DS:

Publish a CA certificate manually

To publish the CA certificate manually to AD DS:

Replace <CAcert.cer> with the name of a certificate file. The "-f" flag re-creates the object even if it has been deleted.

Additional

To check the connection between a CA and Active Directory Domain Services (AD DS):

Replace [domainname] with the name of the namespace in which the CA is installed.

Confirm permissions on essential AD DS containers and objects

To perform this procedure, you must have membership in Domain Admins, or you must have been delegated the appropriate authority.

To confirm that the CA has necessary permissions on AD DS containers and objects within these containers:

The following are all Active Directory permissions required by a computer hosting a CA. Some of these permissions are achieved via membership in the Cert Publishers group.

Element properties:

TargetMicrosoft.Windows.CertificateServices.CARole.2008
CategoryEventCollection
EnabledTrue
Event_ID106
Event SourceMicrosoft-Windows-CertificationAuthority
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
AD CS cannot add a CA certificate to AD
Event Description: {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.2008.CertSvcEvents.106" Enabled="true" Target="CS!Microsoft.Windows.CertificateServices.CARole.2008" 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">106</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="AlertMessageID4f12f8d124ed4ece99544c9a9730fa37"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>