Test Signing the Drivers
------------------------

Signing the drivers requires Windows Device Driver Kit version 7600.16385.1
or later.  The following commands should be executed in a tree containing the
INF files you want to sign.  Note that Windows 2000 INF file syntax is not
understood by inf2cat. Since inf2cat operates recursively on all directories
below the one it is executed in it is important to ensure that no Windows 2000
INF files exist in the subtree.

This information is derived from a Microsoft document named "Code Signing Best
Practices" which can be found at http://download.microsoft.com/download/a/f/7/af7777e5-7dcd-4800-8a0a-b18336565f5b/best_practices.doc

Creating a test certificate
---------------------------

Prior to running the signtool command, you must create a test certificate for
use in signing your drivers and install this certificate on your machine.  This
need only be done once using the following commands from a Windows Device
Driver Kit build environment command prompt:

1. makecert.exe -$ individual -r -pe -ss TestCertStore -n CN="<YourTestCertificateName>" TestCertificate.cer

where you replace <YourTestCertificateName> with a string identifying the
certificate source and the fact that it is a test certificate. An example may
be "Company XYZ Software Test Certificate".

2. CertMgr -add TestCertificate.cer -s -r localMachine root

to add the newly created certificate to your machine's local store.

Signing the Drivers
-------------------

In a directory containing all the INF files for drivers you wish to sign,
execute the following commands:

1. Build catalog files for each driver with the command:

inf2cat /driver:. /os:7_X64,7_X86,Vista_X64,Vista_X86,XP_X86,XP_X64

2. Sign the catalog files with our software test certificate:

signtool sign /v /s TestCertStore /n "<YourTestCertificateName>" /t http://timestamp.verisign.com/scripts/timestamp.dll XXX.cat

  calling this tool once for each of the cat files generated by inf2cat. This
  assumes that the "<YourTestCertificateName>" certificate has been installed
  on your build machine in the TestCertStore certificate store.

