Driver Signing Guidelines for ISVs
Your company's quality assurance processes are responsible for testing driver functionality during product development. When the driver is complete, you can verify that the driver is compatible with Windows and submit it to the Windows Certification Program for certification or signature. Any signed drivers may be distributed on Windows Update, regardless of whether the signature is obtained through certification or unclassified testing.
Windows 7 drivers that pass the tests for the Unclassified category in the Windows Logo Kit (WLK) qualify for a digital signature. These drivers may also be tested for certification using the Windows Hardware Certification Kit (HCK)
Windows 8 drivers receive more robust testing in the HCK. Filter drivers that meet the filter driver requirements and pass the tests for the filter driver certification program qualify for certification and listing in the Windows Compatibility Center.
The Windows 7, Windows 8 and Windows Server 2012 Certification Programs for software have the following digital signature requirements:
- Kernel-mode software must be digitally signed to be loaded on x64-based versions of Windows 7, Windows Server 2008 R2, Windows 8, and Windows Server 2012, and must be signed by Microsoft for the Windows Logo Program (formerly known as "WHQL signature").
- Drivers that are loaded by the Windows operating system loader (boot-start drivers) must contain an embedded signature, for both x86-based and x64-based versions of Windows 7, Windows Server 2008 R2, Windows 8, and Windows Server 2012.
- Filter drivers that are included in the Filter Drivers Certification Program must meet the filter driver requirements and pass the Windows HCK to be certified.
For a list of support contacts for logo and certification program procedures and tools, see Certification Program Support Contacts.
To test drivers by using the Windows Logo Program and Windows Certification Program tests, follow these steps:
Establish a Hardware Dashboard account in the Windows Dev Center.
You must have a dashboard account in order to submit drivers to the Windows Certification Program. To get one, follow these steps:
- Get a VeriSign certificate. The certificate is required for submitting your product to the Windows Certification Program, to ensure that your organization is authentic and to secure transmission of drivers and test results to Microsoft.
- Provide account administrator contact information.
- Sign the latest Windows Certification Program Testing Agreement and the latest applicable Certification License.
- Provide billing information.
Review the latest requirements for the Unclassified category in the Windows Logo Program and/or Filter Driver Product Type in the Windows Certification Program.
To get a digital signature or certification for a software driver, you must qualify your driver through the Unclassified category of the Windows Logo Program or Filter Driver Product Type of the Windows Certification Program.
- The Unclassified category is described in the requirement POLICY-0021.
- Boot start drivers must be self-signed with an embedded signature, as described in the requirement DEVFUND-0029.
- The Filter Drivers Product Type is described in the Filter Drivers area of the Windows 8 Filter Driver requirements.
Install the Windows Logo Kit and/or Windows HCK and review the instructions for using it.
- The Windows Logo Kit and Windows HCK page explains how to decide which version of the kit to use. In most cases, it’s best to use the latest version of the kit.
- The training videos and other documentation help you set up and use the kit, which you’ll use to test your driver in the next step. You should take some time to review these materials before testing your driver.
Run the tests for the Unclassified category and/or Filter Drivers Product Type.
- Before testing, make sure you have installed all the latest updates for the Windows Logo Kit or Windows HCK.
- Use the kit to automatically detect the appropriate tests.
- Run all tests listed in the kit for your driver. If you want to qualify for multiple operating system families, you must test separately for each family.
- Subscribe to the Windows Certification Newsletter for updates in test policies and processes. Previously published editions are available in the archives.
Solve test failures.
Use a systematic strategy for solving failures encountered during testing and in test logs:
- If a test results in a false failure, this is called an erratum. The Hardware Dashboard provides filters (called DTM filters) that eliminate these false failures in known cases. To get the latest filters, log on to the dashboard with your account, navigate to the Hardware certification and click WLK Filters or HCK Filters in the Downloads section.
- For information about technical support, see Certification Program Support Contacts.
Prepare your test submission for the Hardware Dashboard.
After all test failures have been fixed or clearly resolved by errata or contingencies, you are ready to submit your test logs and driver packages to the dashboard. You must submit separate packages for each operating system family.