证书服务无法创建证书吊销列表 (CRL)。
证书颁发机构 (CA) 和公钥基础结构 (PKI) 最重要的安全功能之一是向客户端提供用于确定是否应该信任某个证书的信息。此时管理员需要迅速吊销尚未达到计划到期日期的不受信任的证书,并在证书吊销列表 (CRL) 中发布此信息。监视并解决与 CRL 发布和可用性相关的问题是 PKI 安全的一个重要方面。
创建证书吊销列表
Active Directory 证书服务 (AD CS) 无法创建证书吊销列表 (CRL),这样可能导致需要检查证书颁发机构 (CA) 所颁发证书的吊销状态的应用程序 (CA) 出现故障。
事件日志消息应包含关于 CRL 创建失败的更多具体信息。要更正此错误,请执行以下操作:
解决事件日志消息中列出的任何问题。
请尝试手动创建 CRL。
要执行此过程,您必须拥有管理 CA 的权限,或者您必须被委派了适当的权限。
创建 CRL
要使用证书颁发机构管理单元手动创建 CRL,请执行以下操作:
在托管 CA 的计算机上,单击“开始”,指向“管理工具”,然后单击“证书颁发机构”。
在控制台树中,单击“吊销的证书”。
在“操作”菜单上,指向“所有任务”,然后单击“发布”。
选择“新的 CRL”以覆盖之前发布的 CRL,或选择“增量 CRL”以便只发布当前的增量 CRL。
单击“确定”。
要使用 Certutil 命令行工具手动创建 CRL,请执行以下操作:
在托管 CA 的计算机上,单击“开始”,键入 cmd,然后按 ENTER。
键入 certutil -CRL,然后按 ENTER。
如果手动创建 CRL的尝试失败,请在证书颁发机构管理单元中选择 CA 的名称,然后单击“重新启动”。然后重新尝试创建 CRL。
要确认证书吊销列表 (CRL) 发布过程是否正常,请对最近颁发的最终实体(用户或计算机)证书执行以下操作:
在连接网络的计算机上打开命令提示符。
键入 certutil -url <cert.cer>,然后按 ENTER。
通过使用“证书导出向导”导出证书所创建的证书文件的名称替换 <cert.cer>。
在显示的对话框中的“检索”下,单击“CRL (来自 CDP)”,然后再次单击“检索”。
确认所有列出的已检索 CRL 分发点的状态均为“已验证”。
Target | Microsoft.Windows.CertificateServices.CARole.6.3 | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 130 | ||
Event Source | Microsoft-Windows-CertificationAuthority | ||
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.6.3.CertSvcEvents.130" Enabled="onEssentialMonitoring" Target="CSDisc!Microsoft.Windows.CertificateServices.CARole.6.3" 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">130</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="AlertMessageIDb3b9fe42f7824bf4af39db5341eb162d"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>