メモ書きブログ

日々の覚書

windowsドライバのデジタル署名

32bitのドライバをインストールしたい場合

# 本当に動かないのか

## 互換性のトラブルシューティング

右クリックで互換性のトラブルシューティングが出てくるか

出てきた場合は動作していたOSを選択する


# テストモードを利用する

UEFIでセキュアブートを無効にした後、管理者権限でコマンドプロンプトを起動し、

> bcdedit /set TESTSIGNING ON

と入力すればOK


# 署名を行う

やむにやまれず署名を行う場合

## 参考にさせていただいたサイト 

Windows ドライバーの署名のチュートリアル - Windows drivers | Microsoft Docs

Windowsドライバー署名早わかり

第4回 64bit版デバイス・ドライバ (1/3):64bit Windows時代到来 - @IT

 

## 署名とは

Windows Vista 64bit以降、ドライバーソフトに署名は必須になった

署名するパッケージ情報を表すカタログファイル

署名というのは、ハッシュ(SHA-256など)を作ってカタログファイルに埋め込むことのようだ

Microsoftが提供するドライバ開発キットの中に署名ツールが同梱されており、
下記のようなコマンドで署名することができる。(下記はタイムスタンプ有の例)
> signtool sign /v /ac "C:\hogehoge.cer" /s MY /n "Company Name" /tr http://timestamp.digicert.com "C:\driver.sys"

指定しているcerファイルが証明書と呼ばれるものになる

この署名をしたのは誰なのかを表すために証明書が用いられる

証明書はパスワード(秘密鍵)で守られていて、主に下記の2パターンがある

* コードサイニング証明書 ・・・ 秘密鍵はコマンドで入力する
* EVコードサイニング証明書 ・・・ 秘密鍵はUSBドングルで認証する、普通のより高い