Questions tagged [driver-signing]

In the Windows context, driver signing refers to Microsoft's requirements that device driver binaries be signed with a certificate whose provenance Microsoft trusts, e.g. Authenticode.

In the Windows context, driver signing, a form of code signing, refers to Microsoft's requirements that device driver binaries be signed with a certificate whose provenance Microsoft trusts, e.g. Authenticode. All recent versions of Windows require such a signature in order to easily or programmatically install a driver. Different versions of Windows have different requirements for installing an unsigned driver, but have in common that Microsoft provides no means to programmatically install a driver that is not signed.

One example of this process is the behavior of 64-bit versions of Windows Vista and 7: these versions allow only signed drivers to be installed in kernel mode. Because code executing in kernel mode enjoys wide privileges on the system, the signing requirement aims to ensure that only code with known origin execute at this level. In order for a driver to be signed, a developer must obtain an Authenticode certificate with which to sign the driver. Authenticode certificates can be obtained from certificate authorities trusted by Microsoft. Microsoft trusts the certificate authority to verify the applicants identity before issuing a certificate. If a driver is not signed using a valid certificate or if the driver was signed using a certificate which has been revoked by Microsoft or the certificate authority, Windows will refuse to load the driver.

51 questions
21
votes
4 answers

Signed INF driver works on the computer where it was signed, not others

My company purchased a Driver Signing Certificate from Go Daddy. I used it to sign a simple INF file that is a driver for some of our USB devices that use Microsoft's usbser.sys. Everything seems to work on the Windows 7 64-bit computer where I…
David Grayson
  • 71,301
  • 23
  • 136
  • 171
20
votes
2 answers

In Windows 8, will third-party INF driver files require a signature?

I work for a company that sells USB devices and provides drivers for them. In Windows 7, you could install and use unsigned INF driver files for USB devices as long as they didn't add any code to the kernel. Our company uses generic drivers provided…
David Grayson
  • 71,301
  • 23
  • 136
  • 171
10
votes
1 answer

Code signing with both sha1 and sha256 simultaneously?

Due to Windows changing their security policies, we are planning to begin code-signing driver files with the SHA-256 algorithm instead of SHA-1. However, we still want to be able to support older OS's that still require SHA-1 signing. Using…
ksun
  • 1,159
  • 2
  • 12
  • 19
8
votes
1 answer

signtool fails to find certificate on Windows 10, due to private key filter

I am the developer of UniversalADBDriver, a tool that creates a self signed Android USB driver on the user's computer. Source code of installer and setup package: https://github.com/koush/UniversalAdbDriver The tool generates a keypair and adds a…
koush
  • 2,962
  • 25
  • 31
6
votes
0 answers

Can AWS CloudHSM-backed systems support EV certs?

Recently, my team and I have been exploring the possibility of replacing our windows to build a machine with an Amazon instance. We have come across this article from Amazon…
GovZ
  • 95
  • 7
6
votes
4 answers

dpinst / DifX won't install signed driver silently

When installing a signed driver (i.e. with a properly signed .CAB) on Windows 7 through DpInst, unless it's a WHQL-signed driver, you cannot install it silently. If you run DpInst in the non-silent mode, it'll prompt you to trust the "publisher". If…
Ilya
  • 5,225
  • 2
  • 25
  • 54
6
votes
4 answers

What do I have to do and how much does it cost to get a device driver for Windows Vista / 7 (32 and 64 bit) signed?

I've got some drivers which are basically LibUSB-Win32 with a new .inf file to describe product/vendor IDs and strings which describe my hardware. This works fine for 32 bit windows, but 64 bit versions have problems; namely that Microsoft in their…
Jon Cage
  • 33,172
  • 32
  • 120
  • 206
5
votes
1 answer

INF file for HID device - setting name and icon

I'm looking to create an inf file for a HID device (which has a custom VID/PID). I just want to replace the strings "HID-compliant device" and "USB Input Device" for our device with our strings. I know this will need signing by Microsoft, but is…
Mike Hudgell
  • 307
  • 1
  • 3
  • 13
4
votes
1 answer

Can I install an x64 driver with a test certificate WITHOUT disabling the driver signature?

I'm developing a virtual driver and QA needs to check out the x64 version on several Windows 7 machines. I have strictly followed the instructions on generating a certificate for test purposes, but I still have some problems. So, I've done the…
Dalamber
  • 986
  • 1
  • 10
  • 31
4
votes
0 answers

Windows Kernel Driver Code Signing and SHA256

I am trying to sign a windows kernel driver with a SHA-256 certificate. I've been back and forth with MS support with no change in status. I've tried SignTool.exe from both the 32- and 64- bit directories of 3 different WDKs (7600, 8.0, 8.1). My…
Mike B.
  • 61
  • 3
  • 6
4
votes
1 answer

How to programmatically sign HCK submission with Extended Validation certificate

We have a small app written in C# that we use to sign *.hckx files before they are submitted to Microsoft for signing. The application code look +/- like this: var workDirectory = new System.IO.DirectoryInfo(args[0]); var filesToSign = from item in…
zap
  • 71
  • 6
4
votes
1 answer

Windows Kernel Driver signing and service creation

Having a bit of trouble signing my kernel mode driver and creating a service for it. So, I've created a self-signed certificate using makecert: makecert -r -pe -n "CN=XXX" -ss "XXX" -sr LocalMachine then using the certificate management snap-in I…
3
votes
0 answers

How painful is the WHQL certification process?

Can you give an estimate of how painful the WHQL (Windows Logo for Hardware) certification process is? I see there is a 43 page step by step guide where the first step is installing Windows Server 2008 R2 x64. About how long does it will take to go…
Edwin Evans
  • 2,351
  • 4
  • 29
  • 41
3
votes
0 answers

Getting a single signed Windows driver which passes HLK and HCK tests

We have a driver which passes the HLK and HCK tests. When we're ready to submit it to Microsoft we take the HCK results and merge them with the HLK results, sign it, and submit it to Microsoft. When we get the drivers back from Microsoft we get two…
Muricula
  • 1,092
  • 3
  • 9
  • 15
3
votes
1 answer

Windows kernel mode code signing problems

Problem summary My Windows application includes a service that loads a rather simple driver. This driver contains embedded SHA1 as well as SHA256 signatures and includes a cross-signing certificate chain for both of them, as per the KMCS…
Birt
  • 103
  • 1
  • 9
1
2 3 4