How to Sign Kernel Mode Driver on Windows using GlobalSign’s Code Signing Certificate

May 25, 2024

Notes:

 

Prerequisites


Important SignTool Options:
 
  • /ac Specify an Additional Certificate.
  • /f  Specify the signing Certificate in a file.
  • /p  Specify the password for the signing Certificate.
  • /fd Specify the file digest algorithm used in creating file signatures.
    • E.g. /fd sha256 to place a SHA256 signature (SHA1 is default).
  • /n "Certificate Common Name" Specifies the Certificate to sign the file from your Windows Certificate Store using the Certificate common name.
  • /t  Specify a Microsoft Authenticode compatible time stamp server.
  • /tr Specify an RFC 3161 compliant trusted time stamp server.

Procedure

You can watch the video below for a tutorial.
 



Or, you can check the step by step guidelines below. 

 
  1. In order for your driver to install successfully, the following file types in your project must be signed:
    • .sys
    • .cat
  2. You can either sign these files out of a working directory, or you can place them in your Windows SDK\bin folder.
  3. Acquire the Microsoft Code Signing Cross Certificate for GlobalSign and place it into your working directory.
  4. Use the following signtool command to sign the code:

    signtool sign /ac MSCrossCert.crt /f CodeSign.pfx /p password1234 /tr http://timestamp.globalsign.com/tsa/r6advanced1 filter.sys

    This code will place a signature including the Cross Certificate, that is timestamped in compliance with RFC 3161.
  5. Next verify your signature using the following signtool command.

    signtool verify /v /kp

    -v is for a verbose output and -kp validates it according to kernel mode driver signing criteria.

    The output should look like this:
    Step 5.png
     
  6. Repeat the same process with the .cat file.
  7. Once the driver has been signed, you can install the properly signed driver.
    If the driver is signed properly the install screen will look like this (Windows 7):

    Step 7.png

Additional Resources

Full list of SignTool commands:
http://msdn.microsoft.com/en-us/library/8s9b9yaz%28v=vs.110%29.aspx

Kernel-Mode Code Signing Walkthrough:
http://msdn.microsoft.com/en-us/windows/hardware/gg487328.aspx

Digital Signatures for Kernel Modules on Windows:
http://msdn.microsoft.com/en-us/library/windows/hardware/gg487332.aspx

Related Articles

GlobalSign System Alerts

View recent system alerts.

View Alerts

Atlas Discovery

Scan your endpoints to locate all of your Certificates.

Sign Up

SSL Configuration Test

Check your certificate installation for SSL issues and vulnerabilities.

Contact Support