証明書サービスは既定の証明書失効リスト (CRL) 公開の値に戻されました。
証明書を信頼してもよいか判断するために必要な情報を顧客に提供することは、証明機関 (CA) および公開キー基盤 (PKI) の最も重要なセキュリティ機能の一つです。管理者の場合は、ただちに予定された有効期限に到達しておらず、信頼されていない証明書を失効させ、この情報を証明書失効リスト (CRL) 内で公開するが重要です。CRL で公開されている問題と可用性をモニタリングおよび特定することは、PKI セキュリティの観点において非常に重要です。
ユーザー指定の CRL 公開の値を使用するように AD CS を構成する
Active Directory 証明書サービス (AD CS) を実行しているが、ユーザー指定の値ではなく、既定の証明書失効リスト (CRL) 公開期間設定を使用しています。このエラーを修正するには、以下の手順を実行します。
CRL 公開設定を確認し、必要に応じて修正します。
必要な場合は、CRL レジストリ キーを変更します。
CRL 公開設定を確認して修正する
この手順を実行するには、CA 管理権限を付与されているか、または適切な権限を委任されている必要があります。
公開設定を確認し、適切に修正するには、以下の手順を実行します。
CA をホストしているコンピューターで、[スタート] をクリックし、[管理ツール]をポイントしてから [証明機関] をクリックします。
[失効した証明書] を右クリックして、[プロパティ] をクリックします。
一覧表示された CRL および Delta CRL 公開期間をメモします。
設定のいずれかが有効ではない場合、「CRL レジストリ設定を変更する」の手順を使用して、有効な設定を構成します。
Certutil コマンドライン ツールを使用して、構成済みの CRL 公開設定を判別するには、以下の手順を実行します。
CA をホストしているコンピューター上で、[スタート] をクリックし、「cmd」と入力してから、Enter キーを押します。
「certutil -getreg ca\crlperiod*」と入力して Enter キーを押し、「certutil -getreg ca\crldeltaperiod*」と入力して Enter キーを押します。
設定のいずれかが有効ではない場合、次の手順を使用して、有効な設定を構成します。
CRL レジストリ キーを変更する
この手順を実行するには、ローカルの Administrators のメンバーであるか、適切な権限を委任されている必要があります。
有効なレジストリ キーを設定するには、以下の手順を実行します。
注意:レジストリを誤って編集すると、システムに重大な障害をもたらす可能性があります。レジストリを変更する前に、重要なデータのバックアップを作成するようにしてください。
CA をホストしているコンピューター上で、[スタート] をクリックし、「regedit」と入力してから、Enter キーを押します。
「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\ Configuration\CA name」に移動します。
CRLPeriod および CRLDeltaPeriod の有効なレジストリ値を入力します。有効な値は [Years]、[Months]、[Weeks]、[Days]、または [Hours] です。
CRLPeriodUnits および CRLDeltaPeriodUnits の有効なレジストリ値を入力します。有効な値は整数 (1、15、または 31 など) です。
注:実際のレジストリ キーのテキストの CA 名は、使用している CA の名前に置き換えられます。
証明書失効リスト (CRL) が正しく動作していることを確認するには、最近発行されたエンド エンティティ (ユーザーまたはコンピューター) 証明書で次の手順を実行します。
ネットワークに接続されているコンピューター上でコマンド プロンプト ウィンドウを開きます。
「certutil -url <cert.cer>」と入力し、Enter キーを押します。
<cert.cer> を、証明書のエクスポート ウィザードを使用して証明書をエクスポートして作成した証明書ファイルの名前に置き換えます。
表示されるダイアログ ボックス内の、[取得] の下で、[CRL (CDP から)] をクリックし、[取得] をクリックします。
すべての取得済みの CRL 配布ポイントのステータスが、「検証済み」として表示されていることを確認します。
Target | Microsoft.Windows.CertificateServices.CARole.2016 |
Category | EventCollection |
Enabled | True |
Event_ID | 62 |
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.62" 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">62</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>