具有來源 CertificationAuthority 和 ID 10 的事件收集規則

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

憑證服務無法驗證撤銷狀態。

Knowledge Base article:

摘要

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

解決方法

修正會阻止撤銷檢查的問題

撤銷檢查會在無法驗證鏈結中的每個憑證時失敗。若要解決此問題:

確認憑證授權單位 (CA) 鏈結中的憑證。

識別並修正會阻止撤銷檢查的資源問題。

啟用 CryptoAPI 2.0 診斷以識別並解決會阻止撤銷檢查的更多進階問題。

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

確認 CA 的憑證鏈結

若要驗證 CA 的鏈結:

按一下 [開始] 並輸入 mmc,然後按 ENTER。

當 [使用者帳戶控制] 對話方塊出現時,請確認其中顯示的動作即是您要執行的動作,然後按一下 [繼續]。

在 [檔案] 功能表上,依序按一下 [新增/移除嵌入式管理單元]、[憑證] 和 [新增]。

依序按一下 [電腦帳戶] 和 [下一步]。

選取主控 CA 的電腦,然後依序按一下 [完成] 和 [確定]。

選取憑證鏈結中的每個 CA 憑證。

在 [動作] 功能表上,指向 [所有工作],然後按一下 [匯出] 以啟動 [憑證匯出精靈]。以 .cer 副檔名儲存每個憑證。

按一下 [開始] 並鍵入 cmd,然後按 ENTER。

針對每個 CA 憑證輸入以下命令: certutil -urlfetch -verify<CAcert.cer>,然後按 ENTER。

再次執行相同的命令以檢查假設應該發行憑證及其鏈結的 CA 的 CRL。

解決在命令輸出中發現的任何問題。

若要執行這些程序,您必須有本機 Administrators 的成員資格,或者必須已被委派適當的權限。

識別並修正會阻止撤銷檢查的資源問題

若要確認撤銷檢查未被硬體問題所阻止:

在主控 CA 的電腦上,按一下 [開始],指向 [系統管理工具],然後依序按一下 [可靠性和效能監視器] 以評估 CA 上的記憶體和磁碟使用量。 

如有需要,透過新增實體記憶體、虛擬記憶體或實體儲存體來增加 Windows 資源。

啟用 CryptoAPI 2.0 診斷

若要啟用 CryptoAPI 2.0 診斷:

在主控 CA 的電腦上,按一下 [開始],指向 [系統管理工具],然後按一下 [事件檢視器]。

在主控台樹狀目錄中,展開 [事件檢視器]、[應用程式及服務記錄檔]、[Microsoft]、[Windows] 和 [CAPI2]。

在 [可操作] 上按一下滑鼠右鍵,然後按一下 [啟用記錄]。

按一下 [開始],指向 [系統管理工具],然後按一下 [服務]。

在 [Active Directory 憑證服務] 上按一下滑鼠右鍵,然後按一下 [重新啟動]。

如需憑證撤銷和狀態檢查的詳細資訊,請參閱 http://go.microsoft.com/fwlink/?LinkID=124408

其他

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

按一下 [開始] 並鍵入 certmgr.msc,然後按 ENTER。

當 [使用者帳戶控制] 對話方塊出現時,請確認其中顯示的動作即是您要執行的動作,然後按一下 [繼續]

在主控台樹狀目錄中,按兩下 [個人],然後按一下 [憑證]

在 [動作] 功能表上,指向 [所有工作],然後按一下 [要求新憑證] 以啟動 [憑證註冊精靈]。 

針對任何類型的可用憑證使用精靈來建立和提交憑證要求。

在 [憑證安裝結果] 底下,確認註冊成功完成,並且沒有報告任何錯誤。您也可以按一下 [詳細資料] 以檢視憑證的其他資訊。

Element properties:

TargetMicrosoft.Windows.CertificateServices.CARole.2016
CategoryEventCollection
EnabledTrue
Event_ID10
Event SourceMicrosoft-Windows-CertificationAuthority
Alert GenerateFalse
RemotableTrue
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider 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.10" 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">10</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"/>
</WriteActions>
</Rule>