事象
下位証明機関において、Active Directory 証明書サービスを起動したら、以下のメッセージが表示されて起動に失敗することがあります。
失効サーバーがオフラインのため、失効の関数は失効を確認できませんでした。
0x80092013 (-2146885613 CRYPT_E_REVOCATION_OFFLINE)
また下位証明機関において、CA 証明書をインストールする時に以下のエラー メッセージが記録されて、CA 証明書のインストールに失敗することがあります。
原因
Active Directory 証明書サービスを起動する時に、CA 証明書の失効確認や信頼チェーンの検証を行っています。
下位証明機関の CA 証明書の失効確認を行うためには、発行元のルート証明機関の CDP (CRL 配布ポイント)にアクセスして CRL (証明書の失効リスト) を取得して、CA 証明書が失効されていないかを確認します。
もし CRL の取得に失敗して CA 証明書の失効確認に失敗したら、エラー コード 0x80092013 で Active Directory の証明書サービスの起動に失敗します。
この問題を解決するためには、CRL を取得できるように構成を変更する必要があります。
解決策
解決方法としては、対処策 A (暫定対策)、もしくは対処策 B (恒久対策) にてエラーを解消することができます。
対処策 A
ネットワークやサーバーのトラブルの問題などで CDP にアクセスすることができない場合、問題が解決するまで Active Directory 証明書サービスが起動できません。
CDP から CRL を取得できない問題を解決できるまでの暫定的な対処策として、CRL を手動でインストールして下位証明機関の CA 証明書の失効確認ができるように構成します。
1) 下位証明機関の CA 証明書を発行した(ルート)証明機関に管理者権限をもつユーザーでログオンします。
2) エクスポートを開き、C:\Windows\System32\CertSrv\CertEnroll に移動します。
3) crl という拡張子がついているファイルをすべてコピーします。
4) 下位証明機関の管理者権限をもつユーザーでログオンし、任意のフォルダに先ほどコピーしたの crl ファイルを保存します。
5) Windows キーを押しながら R キーを押して、[ファイル名を指定して実行] を開き certlm.msc と入力して [OK] をクリックします。
6) ローカル コンピューター アカウントの証明書ストアが開いたら、画面の左ペインにて [証明書 – ローカル コンピューター] – [信頼されたルート証明機関] を選択して [すべてのタスク] – [インポート] をクリックします。
7) [証明書のインポート ウィザードの開始] にて、[次へ] をクリックします。
8) [インポートする証明書ファイル] にて、[ファイル名] にコピーした CRL ファイルを選択して [次へ] をクリックします。
9) [証明書ストア] にて、[証明書をすべて次のストアに配置する] を選択して [証明書ストア] が “信頼されたルート証明機関” が選択されていることを確認して [次へ] をクリックします。
10) [証明書のインポート ウィザードの完了] にて、[完了] をクリックします。
11) “正しくインポートされました。” と表示された [OK] をクリックします。
12) 証明書ストアに戻り、[信頼されたルート証明機関] の証明書ストアの配下の [証明書失効リスト] のストアの下にインストールした CRL ファイルが登録されていることを確認します。
※全ての CRL ファイルにおいて、作業 A の手順 6) ~ 11) までを実施して CRL をインストールます。
対処策 B
下位 CA 証明書を開いて、[詳細] タブより “CRL 配布ポイント” の項目から CDP のパスもしくは “機関情報アクセス” の項目から OCSP のパスを確認して、証明機関より正常に通信してアクセスできるようにネットワーク環境を見直してください。
また、CDP と AIA のパスが以下の通りに file://// となっている場合は、共有フォルダへのアクセスで利用される SMB のプロトコルとなっています。
しかしながら、最近の Windows OS のバージョンでは SMB 通信を利用した CRL ファイルの取得はサポートされていませんので、HTTP や LDAP を利用した CDP を用意する必要があります。