Active Directory 証明書サービスは要求のための証明書を指定された場所およびサーバーから削除できませんでした。
証明機関 (CA) の主な機能の 1 つは、クライアントからの証明書要求を評価し、定義済み条件を満たしている場合は証明書をそのクライアントに発行することです。証明書を登録するには、要求を送信する前に、有効な CA 証明書 (適切に構成された証明書テンプレート、クライアント アカウント、証明書要求) を所有する CA、クライアントが CA に要求を送信する方法などのいくつかの事前準備を行い、要求を検証し、発行された証明書をインストールする必要があります。
証明書を手動で削除する
接続またはアクセス許可の問題によって、証明書を削除できなくなることがあります。この問題を解決する手順は、次のとおりです。
証明書の保存場所へのネットワーク アクセス権があるかどうかを確認します。
次のいずれかの手順を使用してイベント ログ メッセージに記載された証明書の削除を試します。
ネットワークに接続していることを確認し、それでも証明書を削除できない場合は、Active Directory ドメイン サービス (AD DS) のドメイン コンピューターおよびドメイン ユーザー コンテナー上のアクセス許可を確認してから、再度証明書の削除を試します。
これらの手順を実行するには、CA アクセス許可を持っているか、適切な権限を委任されている必要があります。
証明書の削除
証明書スナップインを使用して証明書を削除するには、次の手順を実行します。
削除したい証明書がイベント ログ メッセージで指定されている場所に存在していることを確認します。
接続の問題が原因でこの場所へアクセスできない場合は、この問題を修復し、再試行します。
[スタート] をクリックし、「mmc」と入力して Enter キーを押します。
[ユーザー アカウント制御] ダイアログ ボックスが表示されたら、表示された操作が正しいことを確認し、[続行] をクリックします。
「ファイル」メニュー上で [スナップインの追加と削除] をクリックしてから、[証明書]、[追加] の順にクリックします。
ユーザー、サービス、またはコンピューター アカウントを選択して [次へ] をクリックします。
コンピューターまたはサービス向けの証明書を削除したい場合は、そのコンピューターまたはサービスを指定します。[完了] をクリックしてから、[OK] をクリックします。
削除する証明書の証明書ストアを選択します。
削除する証明書を右クリックし、[削除] をクリックします。
この証明書を削除するかどうか尋ねられたら、[はい] をクリックします。
また、Certutil コマンド ライン ツールを使用して無効な証明書を削除することもできます。
Certutil を使用して証明書を削除するには、次の手順を実行します。
コマンド プロンプト ウィンドウを開きます。
「certutil -viewdelstore <network location specified in the event log message>」と入力し、Enter キーを押します。
削除する証明書を右クリックし、[OK] をクリックします。
それでも証明書を削除できない場合は、「Active Directory ドメイン サービスのドメイン コンピューターおよびドメイン ユーザー上のアクセス許可を確認する」セクションの手順にしたがって、証明機関 (CA) がエラー メッセージに指定されている場所への読み取り/書き込みアクセス許可を持っていることを確認します。
Active Directory Domain Services 内のドメイン コンピューターおよびドメイン ユーザー コンテナーのアクセス許可を確認する
CA が、ドメイン コンピューターおよびドメイン ユーザー コンテナー上の必要なアクセス許可を所有していることを確認するには、次の手順を実行します。
CA をホストしているコンピューター上で、[スタート] をクリックし、[管理ツール] をポイントし、[Active Directory サイトとサービス] をクリックします。
[表示] メニュー上で、[サービス ノードの表示] をクリックします。
[Services] をダブルクリック [Public Key Services] をダブルクリックし、[ドメイン コンピューター] を右クリックし、[プロパティ] をクリックします。
[セキュリティ] タブ上で、Cert Publishers グループに読み取り/書き込みアクセス許可があることを確認します。
[ドメイン ユーザー] を右クリックし、[プロパティ] をクリックします。
[セキュリティ] タブ上で、Cert Publishers グループに読み取り/書き込みアクセス許可があることを確認します。
証明書要求の処理が適切に行われていることを確認するには:
[スタート] をクリックし、「certmgr.msc」と入力して Enter キーを押します。
[ユーザー アカウント制御] ダイアログ ボックスが表示されたら、表示された操作が正しいことを確認し、[続行] をクリックします。
コンソール ツリー内で [個人用] をダブルクリックしてから、[証明書] をクリックします。
[操作] メニュー上で、[すべてのタスク] をポイントし、[新しい証明書の要求] をクリックし、証明書の登録ウィザードを開始します。
このウィザードを使って、利用可能な証明書の種類の証明書要求を作成し、送信します。
「証明書インストールの結果」で、登録が正常に完了し、エラーが報告されていないことを確認します。[詳細] をクリックし、証明書の詳細な情報を表示することもできます。
Target | Microsoft.Windows.CertificateServices.CARole.2016 |
Category | EventCollection |
Enabled | True |
Event_ID | 109 |
Event Source | Microsoft-Windows-CertificationAuthority |
Alert Generate | False |
Remotable | True |
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectEvent | Default |
<Rule ID="Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.109" 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">109</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"/>
</WriteActions>
</Rule>