証明書サービスは証明書失効リスト (CRL) を作成できませんでした。
証明書を信頼してもよいか判断するために必要な情報を顧客に提供することは、証明機関 (CA) および公開キー基盤 (PKI) の最も重要なセキュリティ機能の一つです。管理者の場合は、ただちに予定された有効期限に到達しておらず、信頼されていない証明書を失効させ、この情報を証明書失効リスト (CRL) 内で公開するが重要です。CRL で公開されている問題と可用性をモニタリングおよび特定することは、PKI セキュリティの観点において非常に重要です。
証明書失効リストを作成する
Active Directory 証明書サービス (AD CS) は証明書失効リスト (CRL) を作成できませんでした。そのため、この証明機関 (CA) によって発行された証明書の失効状態を確認する必要のあるアプリケーションが失敗する可能性があります。
イベント ログ メッセージには、CRL 作成の失敗についてより具体的な情報が含まれています。このエラーを解決するには、以下の手順を実行します。
イベント ログ メッセージに表示されている問題を解決します。
CRL を手動で作成します。
この手順を実行するには、CA 管理権限を付与されているか、または適切な権限を委任されている必要があります。
CRL を作成する
証明機関スナップインを使用して CRL を手動で作成するには、以下の手順を実行します。
CA をホストしているコンピューター上で、[スタート] をクリックし、[管理ツール] をポイントし、[証明機関] をクリックします。
コンソール ツリーで、[失効した証明書] をクリックします。
[操作] メニュー上で、[すべてのタスク] をポイントし、[公開] をクリックします。
新しい CRL を選択して以前公開した CRL を上書きするか、または Delta CRL を選択して現在の Delta CRL の公開のみを行います。
[OK] をクリックします。
Certutil コマンドライン ツールを使用して CRL を手動で作成するには、以下の手順を実行します。
CA をホストしているコンピューター上で、[スタート] をクリックし、「cmd」と入力してから、Enter キーを押します。
「certutil -CRL」と入力し、Enter キーを押します。
CRL を手動で作成しようとして失敗した場合は、証明機関スナップインの CA 名を選択して、[再起動] をクリックします。次に、再度 CRL を作成します。
証明書失効リスト (CRL) が正しく動作していることを確認するには、最近発行されたエンド エンティティ (ユーザーまたはコンピューター) 証明書で次の手順を実行します。
ネットワークに接続されているコンピューター上でコマンド プロンプト ウィンドウを開きます。
「certutil -url <cert.cer>」と入力し、Enter キーを押します。
<cert.cer> を、証明書のエクスポート ウィザードを使用して証明書をエクスポートして作成した証明書ファイルの名前に置き換えます。
表示されるダイアログ ボックス内の、[取得] の下で、[CRL (CDP から)] をクリックし、[取得] をクリックします。
すべての取得済みの CRL 配布ポイントのステータスが、「検証済み」として表示されていることを確認します。
Target | Microsoft.Windows.CertificateServices.CARole.2016 | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 130 | ||
Event Source | Microsoft-Windows-CertificationAuthority | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | High | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
Alert | WriteAction | System.Health.GenerateAlert | Default |
WriteToCertSvcEvents | WriteAction | Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectEvent | Default |
<Rule ID="Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.130" 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">130</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"/>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="AlertMessageIDb3b9fe42f7824bf4af39db5341eb162d"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>