ドライバにオレオレ署名を埋め込む
x64 Windowsではデジタル署名されていないドライバはロードすることができないので、自分でビルドしたりその辺から拾ってきたドライバを読ませるときは適当な(オレオレの)署名をする必要がある。
んだけど、よくコマンドを忘れるのでドライバに署名を埋め込む手順をメモ。
ドライバのビルドプロンプトを起動して、
>makecert -r -pe -ss PrivateCertStore -n CN=<発行者名> test.cer Succeeded >certmgr /add test.cer /s /r localMachine PrivateCertStore CertMgr Succeeded >Signtool sign /v /s PrivateCertStore /n <発行者名> <ドライバファイル名> The following certificate was selected: Issued to: <発行者名> Issued by: Root Agency Expires: 2040/01/01 8:59:59 SHA1 hash: 0633C22EA433BE25990CC519CE90E735DC11F8F1 Done Adding Additional Store Attempting to sign: <ドライバファイル名> Successfully signed and timestamped: <ドライバファイル名> Number of files successfully Signed: 1 Number of warnings: 0 Number of errors: 0
でおk。一度certmgrで証明書ストアに登録してしまえば、以降はSigntoolで署名を埋め込む手順だけでいい。こんなバッチを書いておくと楽でしょう。
Signtool sign /v /s PrivateCertStore /n <発行者名> %1 pause
ちなみにこの証明書は >bcdedit /set testsigning on した環境でなければ使えない。