MS UEFI関連証明書確認コマンド

仕組みはわかっとるしスクリプト流したいんじゃなくてシンプルに現状の確認をするワンライナーだけコピペしたいんじゃ、Windowsですませたいんじゃ。というときのコマンド集

Contents

DBやKEKに新しい2023 CA証明書があるか雑に確認したい

頭に sudo powershell とつけるか、管理者PowerShellにて動作させる。それぞれTrueならば存在している。精確に見たい場合は後述。secure bootが無効になっている場合はGet-SecureBootUEFIがこける。

DBやKEKに話題の期限が切れるCA証明書があるか雑に確認したい

頭に sudo powershell とつけるか、管理者PowerShellにて動作させる。それぞれTrueならば存在している。精確に見たい場合は後述

ブートマネージャ(.efi)の署名から証明書のNotAfter,fingerprint,Subjectを表示する

管理者PowerShellにて動作させる。1行目EFIがあるパーティション(ESP)は「ディスクの管理(diskmgmt.msc)」のボリューム列などでディスク番号とパーティション番号を調べて、Harddisk0やPartition1の数字部分をその数字に変更。Windowsのブートマネージャ以外はEFI\以降のフォルダ、ファイル名を変える。署名の証明書が正当なものかfingerprintで確認。(PKI Repository – Microsoft PKI Services など)

新しい2023 CA証明書をDBやKEKに追加するタスクを実行

管理者PowerShellにて動作させる。secure bootが有効じゃないとエラーが起きて先に進まない。イベントID 1800は要再起動の意味。イベントID一覧:UEFICA2023ErrorEvent 状態遷移:セキュア ブート証明書の展開のサポート

例えば以下のようにHKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot\AvailableUpdatesの値を確認し、0x4100ならばリブートして再度タスク実行してを繰り返す

雑ではなくてちゃんと証明書として扱って調べたい

以下はいったん証明書ファイルを出力させて確認する方法。.ps1スクリプト作るときはこれらの中間ファイルなんか作らずにesl-parser.ps1を参考にして好みに合わせて。

CA証明書一覧のUEFI変数をファイルにして真面目に調べたい

頭に sudo powershell とつけるか、管理者PowerShellにて

.eslを証明書ごとにばらかしたい(NSAの esl-parser.ps1 をどこぞにおいて)

などとすると db-0.cer, db-1.cer, db-2.cer, db-3.cer, db-4.cer, db-5.cer….. や dbx-0.hsh, dbx-2.hsh, dbx-3.hsh, dbx-4.hsh, dbx-5.hsh….. が出来上がります。

証明書のNotAfterとfingerprintとCNをみたい

証明書チェーンでNotAfterとfingerprintとCNをみたい

まじめにやるならば雑に文字列をぶっこ抜くのではなくて各証明書のfingerprintで特定します。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

モバイルバージョンを終了