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

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

已拒絕憑證要求。

Knowledge Base article:

摘要

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

解決方式

移除阻止憑證要求獲得核准的情況

鏈結建立中的問題是憑證要求失敗的常見原因。使用下面的程序來驗證憑證授權單位 (CA) 的憑證鏈結,並修正確認的任何問題:

如果沒有解決問題,請檢查並解決下列領域中的問題:

完成憑證要求所需的簽章可能無法使用。如果是這種情況:

確認 AD DS 中的使用者帳戶資訊

若要執行此程序,您必須有 Domain Admins 的成員資格,或者必須已被委派適當的權限。

若要確認使用者帳戶資訊:

確認憑證範本資訊

若要執行此程序,您必須擁有管理 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 可在網路上使用。

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

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

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

檢查 CA 上失敗的要求佇列

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

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

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

確認 AD DS 連線

若要確認 Active Directory 憑證服務 (AD CS) 對 AD DS 的連線:

回覆自 IP_address: 位元組=32 時間=3ms TTL=59

回覆自 IP_address: 位元組=32 時間=20ms TTL=59

回覆自 IP_address: 位元組=32 時間=3ms TTL=59

回覆自 IP_address:位元組=32 時間=6ms TTL=59 3

發行其他登錄授權單位憑證

若要執行此程序,您必須是主控 CA 的電腦上本機 Administrators 群組的成員,或者必須已被委派適當的權限。

若要發行其他登錄授權單位憑證:

修改憑證範本簽署需求

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

若要修改憑證範本簽署需求:

其他

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

Element properties:

TargetMicrosoft.Windows.CertificateServices.CARole.2016
CategoryEventCollection
EnabledTrue
Event_ID53
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.53" 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">53</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>