Like so many things to do with writing drivers for Windows, test signing drivers used to suck. A lot. But with the advent of the Win8 WDK, not only is it not so bad… it’s pretty easy.
When you build your driver and Driver Package in the Win8 WDK, by default it signs your driver and package using a test certificate (that it actually generates for you) and spits out a nice package directory like this one:
It turns out this is some very handy stuff.
Grab *both* certificates and the Package and copy them over to your test machine.
On the test machine, add *both* certificates to:
- The machine’s Trusted Root Certification Authority cert store
- The machine’s Trusted Publishers cert store
Do this by right selecting *both* .cer files, and selecting “Install Certificate” – This runs the Certificate Import Wizard. Select “Local Machine”, click next, agree to the request to elevate, select “Place all certificates in the following store” and select Browse to select the store you want. You’ll need to do this twice, once for each cert store you want to add the certificates to. Don’t forget to select *both* .cer files when you do this.
On the test machine, enable test signing using the BCDEDIT command (from an elevated command prompt window):
BCDEDIT /set TESTSIGNING ON
Reboot the test machine.
After rebooting, verify that the test machine has test signing enabled by issuing the BCDEDIT command and looking for “Testsigning Yes” in the output. It’ll be buried in the list of stuff, NOT at the bottom of the list of stuff like it seems to be in all the MSFT examples.
Install the driver in the usual way – Use devcon, or select the device from Device Manager and right click and select “Update Driver” or run the Hardware Wizard (hdwwiz.exe) and do what it says.
Done.