証明書サービスは NTAuth ストアで CA 証明書を見つけることができません。
Active Directory 証明書サービス (AD CS) では、Active Directory ドメイン サービス (AD DS) の特定のオブジェクトに対する、少なくとも読み取りアクセス、書き込みアクセス (一部のインスタンス) が必要です。これらの Active Directory オブジェクトにアクセスできないと、AD CS を起動できません。
AD CS が CA 証明書を NTAuth ストアに公開できることを確認する
この問題を解決する手順は、次のとおりです。
NTAuth ストア上のアクセス許可を確認します。
NTAuth ストアを確認し、必要に応じて証明機関 (CA) 証明書を手動で公開します。
NTAuth ストアに公開するための CA 証明書の場所がわからない場合は、「コンピューター上の CA 証明書ファイルの場所を特定する」セクションの手順を使用して、NTAuth ストアに公開します。
これらの手順を実行するには、CA 管理権限を付与されているか、または適切な権限を委任されている必要があります。
NTAuth ストアのアクセス許可を確認する
NTAuth コンテナー上の CA のアクセス許可を確認するには、以下の手順を実行します。
ドメイン コントローラーで [スタート] をクリックし、[管理ツール] をポイントして [Active Directory サイトとサービス] をクリックします。
[Active Directory サイトとサービス] の [domainname] をクリックします ([domainname] にはドメイン名が入ります) 。
[表示] メニュー上で、[サービス ノードの表示] をクリックします。
[Services] をダブルクリックして、[Public Key Services] をダブルクリックし、[NTAuthCertificates] を右クリックして [プロパティ] をクリックします。
[セキュリティ] タブをクリックして、CA をホストしているコンピューターに読み取りのアクセス許可があることを確認します。
NTAuth ストアの内容を確認する
Active Directory ドメイン サービス (AD DS) 内の NTAuth ストアの内容を確認するには、以下の手順を実行します。
コマンド プロンプトで「certutil -viewstore ldap:///CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=<contoso>,DC=<com>」と入力し、Enter キーを押します。<contoso> と <com> を Active Directory ルート ドメインの名前空間に置き換えます。
CA 証明書が出力に表示されていない場合は、手動で追加します。手動で追加するには、「certutil -dspublish <cert.cer> ntauthca」と入力し、Enter キーを押します。<cert.cer> は CA 証明書ファイルに置き換えてください。
コンピューター上の CA 証明書ファイルの場所を特定する
ローカルのファイル システム上で CA 証明書ファイルを見つけるには、次の手順を実行します。
コマンド プロンプト ウィンドウを開きます。
「certutil -getreg CA\CACertPublicationURLs」と入力し、Enter キーを押します。
既定では、このファイルは %systemroot%\system32\certsrv\certenroll に保存されます。
Target | Microsoft.Windows.CertificateServices.CARole.2016 |
Category | EventCollection |
Enabled | True |
Event_ID | 93 |
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.93" 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">93</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>