Signing Driver

We'll be signing a serial port inf driver file. Basically this just tells Windows "Hey use the CDC Serial driver you have already" but lets it know the name, VID and PID for the device.

You can use our generic INF file, just be sure to edit it to change the VID/PID and identifier strings!

I recommend having the name of the inf not have space in it, just during the signing process

Also, put the inf into a folder on your desktop, also without spaces in it.

Only perform these steps on one inf at a time, in a single folder. srsly.

For example, I put AdafruitCircuitPlayground.inf into C:\User\ladyada\Desktop\CircuitPlayDriver

Inf2Cat

To start you'll need to create a catalog file for the inf. You will use inf2cat for this

Run this command in the directory with the inf file

E.g. if the driver inf is in C:\Users\ladyada\Desktop\CircuitPlayDriver, open up a command line and cd C:\Users\ladyada\Desktop\CircuitPlayDriver

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x86\inf2cat" /v /os:XP_X86,Vista_X86,Vista_X64,7_X86,7_X64,8_X86,8_X64,6_3_X86,6_3_X64,10_X86,10_X64 /driver:.

(The screenshot below is slightly obsolete: it doesn't have the version number in the path.)

Add the Root Certificate

Copy that root certificate you downloaded at the end of the last step into the same directory

Signing!

OMG are you ready??? It's finally time to sign the driver!

Open up a new command line and go to the directory with the inf & cat in it

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x86\signtool" sign /v /n "Your company name" /ac "Root-R3.crt" /tr http://timestamp.globalsign.com/?signature=sha2 /td sha256 *.cat

Of course, change Your Company Name to the certificate name's owner, and the intermediate certificate name if necessary.

(The screenshot below is slightly obsolete.)

Now if the driver gets installed, the user will see the following, a happy installer!

This guide was first published on Mar 14, 2016. It was last updated on Mar 14, 2016. This page (Signing Driver) was last updated on Dec 03, 2019.