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
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
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!