c++visual-c++drivercode-signingwdm

How can I install this driver?


I downloaded the IOCTL sample driver from MSDN. I am trying to run an executable in this example to load the driver from its SYS file, but I get this error when it calls StartService:

StartService failure! Error = 577
Unable to install driver.
ControlService failed!  Error = 1062

577, according to error code documentation, means:

ERROR_INVALID_IMAGE_HASH
577 (0x241)
Windows cannot verify the digital signature for this file. A recent hardware or software change might have installed a file that is signed incorrectly or damaged, or that might be malicious software from an unknown source.

I don't get why it won't start it up because in Visual Studio I went to the project settings on the driver and set these on it:

Sign Mode -> "Test Sign"

Test Certificate -> I used the "Create Test Certificate" option to create and then select a test certificate.

So what's the problem now? How can I get this driver to install?


Solution

  • Starting with Windows Vista 64-bit, Microsoft began requiring signed drivers unless bypassed using boot-time developer options.

    There are options for both unsigned drivers (F8 option or attaching a kernel debugger) and test-signed drivers (TESTSIGNING boot configuration). The easiest bypass is to press F8 at boot time and select "Disable Driver Signature Enforcement", which will last until the next boot.