憑證服務無法使用金鑰修復代理憑證。
Active Directory 憑證服務 (AD CS) 需要金鑰修復代理憑證、Exchange (XCHG) 憑證和金鑰,才能支援金鑰保存。對於公開金鑰基礎結構而言,金鑰修復代理憑證、XCHG 憑證以及建立這些憑證所需的密碼編譯服務提供者 (CSP) 是否正常運作相當重要。
識別並使用有效金鑰修復代理憑證
若要解決此問題,您需要識別所使用金鑰修復代理憑證失敗的原因。金鑰修復代理憑證通常在其到期或被撤銷後即無法使用。
若要執行此程序,您必須擁有管理 CA 權限,或者必須已被委派適當的權限。
若要檢查金鑰修復代理憑證的有效性:
在主控 CA 的電腦上,按一下 [開始],指向 [系統管理工具],然後按一下 [憑證授權單位]。
在憑證授權單位 (CA) 名稱上按一下滑鼠右鍵,然後按一下 [內容]。
按一下 [修復代理] 索引標籤,檢查事件記錄檔中所列索引對應的金鑰修復代理憑證狀態是 [已到期] 還是 [無效]。若要檢查其有效性,請確認其有效期以及包含延伸的金鑰使用方法 (EKU) 延伸 (表示此憑證可用於金鑰修復)。
如果憑證已到期或無效,請移除無效的金鑰修復代理憑證並指派新憑證。您可能需要先發出新金鑰修復代理憑證,然後才能使用 CA 註冊該憑證。
如需詳細資訊,請參閱 http://go.microsoft.com/fwlink/?LinkID=95698。
若要確認金鑰保存和修復是否正確運作:
在主控 CA 的電腦上,按一下 [開始],指向 [系統管理工具],然後按一下 [憑證授權單位]。
在主控台樹狀目錄中,以滑鼠右鍵按一下憑證授權單位 (CA) 的名稱,然後按一下 [內容]。
按一下 [修復代理] 索引標籤。
確認所有金鑰修復代理憑證都列示為 [有效]。
在 [憑證範本] 容器中,確認加密憑證在 [要求處理] 索引標籤上設定有選項 [保存物件的加密私密金鑰]。
為具有依據此憑證範本註冊憑證的權限的使用者帳戶開啟 [憑證] 嵌入式管理單元。
在主控台樹狀目錄中,以滑鼠右鍵按一下 [個人],指向 [所有工作],然後按一下 [要求新憑證],以啟動 [憑證註冊精靈]。
依據加密範本註冊憑證,並確認註冊成功完成,沒有報告任何錯誤。
註冊完成後,開啟 [憑證授權單位] 嵌入式管理單元。
在主控台樹狀目錄中,按一下 [已發出的憑證]。
找出剛才發出的憑證項目,並新增 [備份金鑰] 欄位至嵌入式管理單元顯示清單。
確認文字 [是] 出現在剛才發出的憑證的 [備份金鑰] 欄位上。
Target | Microsoft.Windows.CertificateServices.CARole.2016 |
Category | EventCollection |
Enabled | True |
Event_ID | 84 |
Event Source | Microsoft-Windows-CertificationAuthority |
Alert Generate | False |
Remotable | True |
Event Log | Application |
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 |
<Rule ID="Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.84" 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">84</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>