証明書サービスで Key Recovery Agent 証明書を使用できませんでした。
Active Directory 証明書サービス (AD CS) では、 キーのアーカイブをサポートするため、キー回復証明書、Exchange (XCHG) 証明書、およびキーが必要となります。Key Recovery Agent 証明書の機能、XCHG 証明書、およびそれらの作成に必要な暗号化サービス プロバイダー (CSP) は、公開キー基盤にとって非常に重要です。
有効な Key Recovery Agent 証明書を特定し、使用する
この問題を解決するには、使用される Key Recovery Agent 証明書が失敗した理由を特定する必要があります。一般的に、Key Recovery Agent 証明書は、有効期限が切れたり失効すると使用できなくなります。
この手順を実行するには、CA 管理権限を付与されているか、または適切な権限を委任されている必要があります。
Key Recovery Agent 証明書の有効性を確認するには、次の手順を実行します。
CA をホストしているコンピューター上で、[スタート] をクリックし、[管理ツール] をポイントし、[証明機関] をクリックします。
証明機関 (CA) の名前を右クリックし、[プロパティ] をクリックします。
[回復エージェント] タブをクリックして、Key Recovery Agent 証明書のインデックスが、イベント ログに「期限切れ」または「無効」と記載されているかどうかを確認します。有効性を確認するには、有効期日を確認し、この証明書がキー回復に使用できることを示す、拡張キー使用法 (EKU) 拡張子が含まれていることを確認します。
証明書の期限が切れていたり、無効となっている場合は、無効な Key Recovery Agent 証明書を削除し、新しい証明書を割り当てます。CA で登録する前に新しい Key Recovery Agent 証明書を発行する必要があります。
詳細については、『 http://go.microsoft.com/fwlink/?LinkID=95698』を参照してください。
キーのアーカイブおよび回復が正しく動作していることを確認するには、次の手順を実行します。
CA をホストしているコンピューター上で [スタート] をクリックし、[管理ツール] をポイントし、[証明機関] をクリックします。
コンソール ツリーで、承認期間 (CA) の名前を右クリックしてから、[プロパティ] をクリックします。
[回復エージェント] タブをクリックします。
Key Recovery Agent の証明書がすべて「有効」になっていることを確認します。
証明書テンプレート コンテナー内で、暗号化証明書に、[要求処理] タブ上で構成された [サブジェクトの秘密キーをアーカイブする] オプションがあることを確認します。
この証明書テンプレートに基づいて証明書に登録するためのアクセス許可を持つ、ユーザー アカウントの証明書スナップインを開きます。
コンソール ツリーで、[個人用] を右クリックし、[すべてのタスク] をポイントし、[新しい証明書の要求] をクリックして証明書の登録ウィザードを起動します。
暗号化テンプレートに基づいて証明書に登録し、登録が正常に完了し、エラーが報告されていないことを確認します。
登録が完了したら、[証明機関] スナップインを開きます。
コンソール ツリーで、[発行した証明書] をクリックします。
発行されたばかりの証明書のエントリを探し、スナップイン表示リストに「アーカイブされたキー」列を追加します。
先ほど発行した証明書の「アーカイブされたキー」列に表示された [はい] をクリックして確認します。
Target | Microsoft.Windows.CertificateServices.CARole.6.3 |
Category | EventCollection |
Enabled | True |
Event_ID | 85 |
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.6.3.CertSvcEvents.85" 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">85</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>