アプリケーション イベント(ソース:CAPI2) ID 4107 は、CAPI2 という証明書の処理に関するエラー イベント ログです。これは、ルート証明書更新プログラムの機能の動作に関するイベント ログです。
このエラー イベント ログを理解するには、ルート証明書更新プログラムの基本知識が必要です。
ルート証明書更新プログラムの基本知識については、以下の記事にて紹介しています。
Web サイトで利用されているサーバー証明書や、アプリケーションのインストーラーに付与されているコード署名を信頼する時、証明書の検証が行われます。証明書を検証する時、信頼できる証明機関から発行された証明書であるかどうかを確認します。この時、[…]
イベント ID 4107
アプリケーション イベント ログに以下のようなエラー ログが記録されていることがあります。
ソース: Microsoft-Windows-CAPI2
日付: YYYY/MM/DD HH:MM:SS
イベント ID: 4107
タスクのカテゴリ: なし
レベル: エラー
キーワード: クラシック
ユーザー: N/A
コンピューター: <コンピューター名>
説明:
<http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab> にある自動更新 cab ファイルからサード パーティのルート一覧を抽出できませんでした。エラー: 現在のシステム時計または署名ファイルのタイムスタンプで確認すると、必要な証明書の有効期間が過ぎています。
原因
信頼されるルート証明書の一覧の情報が記載されている authrootstl.cab のデータに問題があり、正常にルート証明書の情報が取得できておりません。
イベント ID 4107 エラーについては、多くの場合、authroot.stl を署名している署名証明書に何らかの問題があります。イベント ID 4107 エラーの事例で一番多いのは、イベント ID 4107 エラーの説明に記載されている “現在のシステム時計または署名ファイルのタイムスタンプで確認すると、必要な証明書の有効期間が過ぎています。” というエラーが原因となっているケースです。このエラーは署名証明書の有効期限が切れていることを示しています。
ルート証明書更新プログラムの動作では、”信頼されたルート証明書の一覧” を authrootstl.cab のファイルに記載されています。このファイルは、データの内容が改ざんされていないことを証明するために、デジタル署名が付与されています。
ルート証明書更新プログラムの機能にて、authrootstl.cab ファイルを取得すると、データが改ざんされていないことを確認するために、付与されているデジタル署名を検証します。そのときに、デジタル署名に検証するために使用する署名証明書に問題があると、デジタル署名の検証に失敗します。
authrootstl.cab ファイルに付与されている署名証明書の内容は、Windows OS のエクスプローラーから確認することができます。
署名証明書の確認方法
authrootstl.cab に付与されているデジタル署名に使用されている署名証明書の確認方法は以下の通りです。
1) 任意の Web ブラウザを開いて、以下の URL へアクセスして authrootstl.cab をダウンロードします。
http://ctldl.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authrootstl.cab
2) 解凍ソフトで cab を展開して、展開したフォルダを開きます。
3) エクスプローラーで展開したフォルダを開き、中にある authrool.stl を右クリックして [プロパティ] をクリックします。
4) [デジタル署名] タブを選択して、[署名の一覧] に含まれている署名を選択した状態で [詳細] をクリックします。
5) [デジタル署名の詳細] 画面の [全般] タブの [証明書の表示] をクリックします。
6) デジタル署名に使用された証明書が表示されます。
対処策
ctldl.windowsupdate.com 上に公開されている authrootstl.cab の署名に問題があるため、こちらはマイクロソフトが問題のない authrootstl.cab の公開を待つ必要があります。authrootstl.cab が公開されたら、ディスク キャッシュを削除して、イベント ID 4107 エラーが記録された端末新しい authrootstl.cab をダウンロードしたら解消が見込まれます。
1) コマンド プロンプトを通常起動し、以下のコマンドを実行します。
2) コマンド プロンプトを管理者として起動し、以下のコマンドを実行します。
certutil -setreg chain\ChainCacheResyncFiletime @now
※ 実行後、CertSvc サービス再起動を促すメッセージが出力される可能性がございますが、
無視していただいて問題なく、サービスやサーバーの再起動は不要でございます。
上記にて解消しない場合には、更に以下の対処を実施します。
3) 以下の各フォルダ内のファイルを、すべて削除します。
%windir%\ServiceProfiles\LocalService\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData
%windir%\ServiceProfiles\NetworkService\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
%windir%\ServiceProfiles\NetworkService\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData
%windir%\System32\config\systemprofile\AppData\LocalLow\Microsoft\CryptnetUrlCache\Content
%windir%\System32\config\systemprofile\AppData\LocalLow\Microsoft\CryptnetUrlCache\MetaData
※フォルダーへのアクセス権限がないことを伝えるメッセージが表示されることがありますが、その場合には [続行] をクリックします。
新しいファイルが公開された後もそのファイルがダウンロードできるようになるタイミングは、環境によって異なります。