具有源 CertificationAuthority 和 ID 86 的事件的收集规则

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

证书服务无法使用加密密钥的指定提供程序。

Knowledge Base article:

摘要

Active Directory 证书服务 (AD CS) 需要 key recovery agent 证书、交换 (XCHG) 证书和密钥才能支持密钥存档。对于公钥基础设施而言,key recovery agent 证书、XCHG 证书以及创建这些证书所需的加密服务提供程序 (CSP) 是否正常工作至关重要。

解决方案

使用支持密钥存档和恢复的加密服务提供程序

虽然使用管理工具无法解决加密提供程序(用来执行加密和加密证书生成相关任务的软件组件)引起的问题,但是,以下任务可提供帮助解决问题所需要的诊断信息:

确定并测试加密提供程序

要执行此过程,您必须拥有管理 CA 的权限,或者您必须被委派了适当的权限。

要确定和测试正在使用的加密提供程序,请执行以下操作:

重置默认加密密钥提供程序

要执行此过程,您必须拥有本地管理员成员身份,或者您必须被委派了适当的权限。

在将证书颁发机构 (CA) 配置为能使用默认的 Microsoft 提供程序进行证书加密时,请将以下注册表项设置为 Microsoft Software Key Storage Provider。

注意:你可能需要吊销当前的 CA 交换证书(如果有的话),然后才能发布基于新提供程序的新证书。然后,重新启动 CA。

要修改配置的加密密钥提供程序,请执行以下操作:

警告:注册表编辑不当可能导致严重损坏你的系统。更改注册表之前,你应备份任何有价值的数据。

其他

要确认密钥存档和恢复是否正常,请执行以下操作:

Element properties:

TargetMicrosoft.Windows.CertificateServices.CARole.2016
CategoryEventCollection
EnabledTrue
Event_ID86
Event SourceMicrosoft-Windows-CertificationAuthority
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
RemotableTrue
Alert Message
AD CS 密钥存档和恢复 - 无法使用注册表中的提供程序
事件说明:{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.86" 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">86</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="AlertMessageIDda66f694c2aa435dbbbc3e09e3585e3d"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>