ブログアーカイブ

Microsoft Root Certificate Authority 2010


“The certificate is not valid for the selected purpose.”

certificate1


Windows 8.1 Update (x86, x64)、インターネット オプション – 証明書 で該当する証明書を確認すると次のメッセージが表示されます。

Microsoft Root Certificate Authority 2010 – “この証明書は選択された目的には有効ではありません。” – 2010‎年‎6‎月‎24‎日 6:57:24 – 2035‎年‎6‎月‎24‎日 7:04:01

certificate2

Microsoft Windows Production PCA 2011 – “この証明書は選択された目的には有効ではありません。” – ‎2011‎年‎10‎月‎20‎日 3:41:42 – 2026‎年‎10‎月‎20‎日 3:51:42

信頼されたルート証明機関の Microsoft Root Authority, Microsoft Root Certificate Authority、中間証明機関の Microsoft Code Signing PCA, Microsoft Code Signing PCA 2010, Microsoft Windows Hardware Compatibility PCA, Microsoft Windows Production PCA 2011, Microsoft Windows Third Party Component CA 2012 も同様のメッセージが表示されます。

Microsoft Root Certificate Authority 2011, Microsoft Code Signing PCA 2011 は特に問題ありません。クライアント認証、電子メールの保護 以外の項目が選択されています。

%SystemRoot%\servicing\Packages\Microsoft-Media-Foundation-Package~31bf3856ad364e35~amd64~~6.3.9600.16384.cat のプロパティ – 証明書の表示 – 証明のパス で “Microsoft Root Certificate Authority 2010” の証明書を確認すると、「この証明書は問題ありません」と表示されます。


+ System

– Provider

[ Name] Microsoft-Windows-CAPI2
[ Guid] {5bbca4a8-b209-48dc-a8c7-b23d3e5216fb}

EventID 81

Version 0

Level 2

Task 80

Opcode 2

Keywords 0x4000000000000040

– TimeCreated

[ SystemTime] 2014-05-17T23:30:57.932797300Z

EventRecordID 504858

Correlation

– Execution

[ ProcessID] 992
[ ThreadID] 5668

Channel Microsoft-Windows-CAPI2/Operational

Computer …
– Security

[ UserID] S-1-5-21-…-…-…

– UserData

– WinVerifyTrust

ActionID {189A3842-3041-11D1-85E1-00C04FC295EE}

– UIChoice WTD_UI_NONE

[ value] 2

– RevocationCheck

[ value] 0

– StateAction WTD_STATEACTION_VERIFY

[ value] 1

– Flags

[ value] 80000014
[ WTD_NO_POLICY_USAGE_FLAG] true
[ WTD_REVOCATION_CHECK_NONE] true
[ CPD_USE_NT5_CHAIN_FLAG] true

– CertificateInfo

[ displayName] CryptUI

– DigestInfo

[ digestAlgorithm]
[ digest]

– RegPolicySetting

[ value] 23C00
[ WTPF_OFFLINEOK_IND] true
[ WTPF_OFFLINEOK_COM] true
[ WTPF_OFFLINEOKNBU_IND] true
[ WTPF_OFFLINEOKNBU_COM] true
[ WTPF_IGNOREREVOCATIONONTS] true

– AuthenticodeFlags

[ value] 100
[ CERT_TRUST_PUB_CHECK_PUBLISHER_REV_FLAG] true

– CertificateChain

[ chainRef] {89D0B556-F478-4D7C-97E4-71579F3AD4B4}

– EventAuxInfo

[ ProcessName] iexplore.exe

– CorrelationAuxInfo

[ TaskId] {482EC175-B3C8-4331-9880-3DC919268106}
[ SeqNumber] 7

– Result 証明書は要求された使用法では無効です。

[ value] 800B0110

Windows 7 では問題ありません。


%ProgramData%\Microsoft\Crypto\RSA\MachineKeys と、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates の内容が一致しないようです。レジストリーキーのほうが少なくなっています。


Windows 8.1 で certutil -SyncWithWU で ファイルをダウンロードして、certutil -verify 3b1efd3a66ea28b16697394703a72ca340a05bd5.crt (Microsoft Root Certificate Authority 2010)と certutil -verifystore の内容を比べたところ、certutil -verifystore では ——– CERT_CHAIN_CONTEXT ——– の箇所が表示されないことがわかりました。Windows 7 では正しく表示されます。

BasicConstraints フィールドが正しくないために発生する場合があります。


Windows 10 Technical Preview でも同様の問題が発生しています。

0x800f0818 Error


pkgmgr.exe を実行すると %SystemRoot%\Logs\CBS\CBS.log に “Pkgmgr: Failed installing selectable updates for: Windows Foundation, hr: 0x800f0818” が書き込まれる。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages を確認します。

私の環境では、package_n_for_kb979688~31bf3856ad364e35~amd64~~, package_n_for_kb2705219~31bf3856ad364e35~amd64~~, package_n_for_kb2731847~31bf3856ad364e35~amd64~~ のキーに問題があることがわかりました。このKB979688, KB2705219, KB2731847 にはそれぞれ複数のバージョンが存在します。リリースされた日時により、Windows6.0-KB979688-v3-x64.msu, Windows6.0-KB2705219-v2-x64.msu, Windows6.0-KB2731847-v2-x64.msu など-v -が含まれます。さらに ~~のあとに 6.0.1.1, 6.0.2.0, 6.0.3.0 と、異なる.cat, .msu ファイルが存在します。

Package_for_kb979688~31bf3856ad364e35~amd64~~6.0.1.0, Package_for_KB2705219~31bf3856ad364e35~amd64~~6.0.2.0, Package_for_KB2731847~31bf3856ad364e35~amd64~~6.0.2.0 に沿うように、Package_n_for…のキー名と、InstallName, \Owners の名前を修正したところ、このエラーが発生しなくなりました。

リカバリ、再インストールを行った場合には、最新のバージョンのものがインストールされます。インストールした時期によりこのように複数のバージョンが混在したものと思われます。

Windows Update, Windows の機能(Windows Features)


  • sfc /scannow を何度実行しても同じファイルを修復しようとします。ログにRepairing corrupted file と書かれています。「Windows リソース保護により、破損したファイルが見つかり、それらは正常に修復されました。詳細は、CBS.Log %systemroot%\Logs\CBS\CBS.log に含まれています。」このようなメッセージが表示されず、「問題がない」としか表示されない。
  • Windows Updateでインストールした更新プログラムが再び表示される、Windows Features の構成に時間が掛かるなど不具合が生じる場合は次の点を確認してください。

%systemroot%\servicing\Packages または %systemroot%\System32\catroot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE} フォルダに update.cat, update.mum, update-bf.cat, update-bf.mum が存在する場合はこのファイルを削除します。

%systemroot%\winsxs\Pending.xml ファイルが存在する場合は削除します。念のためにコピーしておきます。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing のアクセス権が正しく設定されているか確認し、修正します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages のサブキーについて次の点を確認します。

.NET Framework の %systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG\enterprisesec.config, security.config ファイルの設定を確認します。アクセス権(ACL)が正しく継承されているか確認します。

言語パック (Language pack)をインストールし直します。英語版を使われている方も en-us の言語パックが存在しますので必要となります。

ダウンロードした exe ファイルを展開します。このとき生成される lp.cab ファイルを別のフォルダーにコピーしておきます。

Windows ログに 4373 が書き込まれていることを確認します。


Windows Features の情報は次のレジストリを参照しているようです
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF