Previous Next

Using Vendor-Supplied Authenticode Signatures To Authenticate Drivers

Setup uses vendor-supplied Authenticode signatures to authenticate drivers before it installs them. Authenticode™ signatures are supported only on Microsoft® Windows® Server 2003 and later versions. It is recommended that you use an Authenticode signature to authenticate a driver only if WHQL does not have a test program for the corresponding device setup class.

Before installing a driver, Setup performs the following sequence of verification steps:

  1. Checks if the catalog file for the driver package has a valid WHQL digital signature. If the signature is valid, Setup does not do the remaining verification steps and installs the driver. Setup does not display a user dialog. (For more information, see Using WHQL Digital Signatures To Authenticate Drivers.) If the WHQL digital signature is not valid, Setup goes to step 2.
  2. If the WHQL digital signature is not valid, Setup logs an entry in the SetupAPI log file. To find a corresponding log entry in the SetupAPI log file, search for the term "unsigned." (For more information on SetupAPI log, see Using SetupAPI Logging).

    After making a log entry, Setup checks if a WHQL test program exists for the device setup class. If so, Setup employs the Driver Signing Option set for the machine (Ignore, Warn, or Block). Setup does not perform the remaining verification steps. If there is no WHQL test program for the device setup class, Setup goes to step 3.

  3. If there is no WHQL test program for the device setup class, Setup checks if the catalog file for the driver package has a valid Authenticode signature. If the Authenticode signature is not valid, Setup does one of the following, depending on which Driver Signing Option the system administrator sets for the machine in the Device Manager:

    Setup does not perform any of the remaining verification steps. If the Authenticode signature is valid, Setup goes to step 4.

  4. If the Authenticode signature is valid, Setup checks if the signature's certificate is installed in the trusted publisher certificates store. If the signature's certificate is not in the certificate store, Setup does one of the following, depending on which Driver Signing Option the system administrator sets for the machine:

    If the certificate for the driver package is installed in the trusted publisher certificates store, Setup goes to step 5.

  5. If the certificate for the driver package is installed in the trusted publisher certificates store, Setup installs the driver without displaying a user dialog.

For more information about using Authenticode signatures, see Using SetupAPI To Verify Driver Authenticode Signatures.

Trusted Publisher Certificates Store

The trusted publisher certificates store contains information about the Authenticode certificates of trusted publishers that are installed on a machine. Use an Authenticode certificate to create a vendor-supplied Authenticode signature. System administrators can use one of the following ways to install Authenticode certificates in the trusted publisher certificates store: