具有來源 OnlineResponder 和 ID 22 的事件收集規則

Microsoft.Windows.CertificateServices.CARole.2016.OCSPEvents.22 (Rule)

線上回應服務不處理非常長的要求。

Knowledge Base article:

摘要

憑證授權單位 (CA) 的其中一個主要功能是評估用戶端的憑證要求,並且如果符合預先定義的準則,則對該用戶端發行憑證。為了成功註冊憑證,一些要素必須在提交要求前準備就緒,包括具有有效 CA 憑證的 CA;正確設定的憑證範本、用戶端帳戶和憑證要求;以及用戶端提交要求至 CA 的方式,要求必須經過驗證並安裝發行的憑證。

解決方式

修正導致憑證要求無法處理的問題

一些問題會導致憑證要求無法處理。如果事件記錄檔訊息沒有包含修正問題所需的全部資訊,則在該事件記錄檔訊息前後發出的其他錯誤和警告可協助您識別原因。 

若要識別和解決可阻止憑證要求處理的問題,您應該:

若要執行下列程序,您必須擁有管理 CA 權限,或者必須已被委派適當的權限。

確認 CA 的憑證鏈結

若要驗證 CA 的鏈結:

產生和發行新的 CRL

如果命令列輸出指示 CA 的 CRL 已過期,則在 CA 上產生新的基本及差異 CRL,並將他們複製到要求的位置。您可能需要重新啟動離線 CA 才可以執行這項作業。

在 CA 上檢查目前發佈的 CRL。依預設,CA 會在資料夾 %windir%\System32\CertSrv\CertEnroll 中建立 CRL。如果此位置上的 CRL 目前已過期或無效,您可以使用以下程序來發佈新的 CRL。

若要使用 [憑證授權單位] 嵌入式管理單元發佈新的 CRL:

您也可以從命令提示字元產生和發佈 CRL。

若要使用 Certutil 命令列工具發佈 CRL:

如果 CRL 被確認為無法使用,但 CA 上的本機目錄中存在有效的 CRL,則確認 CA 可連線至 CRL 發佈點,然後使用之前的步驟重新產生和發佈 CRL。

可使用下面的命令手動將 CRL 發佈至 Active Directory 網域服務 (AD DS):

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

以 CRL 檔案的名稱取代 crlname.crl,並以您的 CA 名稱和執行 CA 之主機的名稱取代 <CA 名稱> 和 <CA 主機名稱>,然後以您 Active Directory 網域的命名空間取代 <contoso> 和 <com>。

確認所設定的 CRL 發佈點

檢查所有已設定的 CRL 發佈點,以確認發佈成功,並且新的 CRL 可在網路上使用。

若要使用 [憑證授權單位] 嵌入式管理單元檢查已設定的 CRL 發佈點:

若要使用 Certutil 檢查所設定的 CRL 發佈點 URL:

檢查 CA 上失敗的要求佇列

若要使用 [憑證授權單位] 嵌入式管理單元檢查 CA 上失敗的要求佇列:

若要使用 Certutil 檢查失敗的要求:

其他

若要確認憑證要求處理是否正確運作:

Element properties:

TargetMicrosoft.Windows.CertificateServices.CARole.2016
CategoryEventCollection
EnabledTrue
Event_ID22
Event SourceMicrosoft-Windows-OnlineResponder
Alert GenerateFalse
RemotableTrue
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectEvent Default
WriteToOCSPEvents WriteAction Microsoft.Windows.CertificateServices.CARole.OCSPEvents.Publisher Default

Source Code:

<Rule ID="Microsoft.Windows.CertificateServices.CARole.2016.OCSPEvents.22" 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">22</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-OnlineResponder</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectEvent"/>
<WriteAction ID="WriteToOCSPEvents" TypeID="Microsoft.Windows.CertificateServices.CARole.OCSPEvents.Publisher"/>
</WriteActions>
</Rule>