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

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

Contents

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

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

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

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

DBX話題のCA証明書が強制的につっこまれているかを雑に確認したい

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

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

管理者PowerShellにて動作させる。Windowsのブートマネージャ以外はファイル名を変える。EFIがあるパーティション(ESP)は「ディスクの管理(diskmgmt.msc)」のボリューム列などでディスク番号とパーティション番号を調べて、2行目のHarddisk0やPartition1の数字部分をその数字に変更

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

頭に sudo powershell とつけるか、管理者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….. が出来上がります。

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

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

コメントを残す

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