署名されていないドライバを強引にインストールする際に必要なオレオレ署名の作り方。
- WindowsSDKをインストール
- Windows SDK Command Promptを管理者権限で実行
- シェル内でドライバがあるフォルダへ移動
- 以下のコマンドにより、プライベートキー・認証ファイルを作る。途中パスワードを2回要求される。
makecert -sv driver.pvk -a sha1 -eku 1.3.6.1.5.5.7.3.3 -r -ss Root -len 1024 -sr localMachine -n CN="driver.sys" driver.cer
- SPCファイルを作る
cert2spc driver.cer driver.spc
- プライベートキーと一緒にPFXファイルを作る。パスワードは4.で設定したもの。
pvk2pfx -pvk driver.pvk -pi password1 -spc driver.spc -pfx driver.pfx -po password2
- ドライバ(driver.sys)に署名をする。パスワードは4.で設定したもの。
signtool sign /f driver.pfx /p password1 /d "driver.sys" /v driver.sys
- シェルを終了する
- driver.pfxを右クリックし「PFXのインストール」を実行。途中パスワードを聞かれるので、4.で設定したパスワードを入力。
- インストール途中、証明書ストアに関する画面で「信頼されたルート証明機関¥レジストリ」を選ぶ。「物理ストアを表示する」にチェックを入れないと選べない。
- 管理者権限でコマンドプロンプトを実行
- オレオレ署名を使えるようにする
bcdedit /set TESTSIGNING ON
- Windowsを再起動
上記手順を踏むことで、オレオレ署名を付けたドライバ(driver.sys)をインストール出来るようになる。