Driver Signing Guidelines for ISVs
This content applies to the Sysdev dashboard, which is being replaced by the Windows Hardware Dev Center Dashboard. See Windows Hardware Dev Center Dashboard for current support and transition timelines.
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 digital signature. Any signed drivers may be distributed on Windows Update, regardless of whether the digital signature is obtained through certification, or through unclassified or “Other Device” testing.
The Windows Hardware Lab Kit (Windows HLK) supports driver testing for Windows 10.
The Windows Hardware Certification Kit (Windows HCK) supports driver testing for Windows 7, Windows 8, Windows 8.1, Windows Server 2008 R2, Windows Server 2012 and Windows Server 2012 R2.
The Windows Logo Kit 1.6 (WLK 1.6) supports driver testing for Windows Server 2003 and Windows Server 2008.
The Windows 10, Windows 8.1, Windows 8, Windows 7, Windows Server 2012 R2, Windows Server 2012, and Windows Server 2008 R2 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 8, Windows 8.1, Windows Server 2008 R2, Windows Server 2012 and Windows Server 2012 R2 and must be signed by Microsoft for the Windows Hardware Certification Program.
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 8, Windows 8.1, Windows Server 2008 R2, Windows Server 2012 and Windows Server 2012 R2.
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.
How to test drivers by using the Windows Logo Program and/or Windows Certification Program tests
To test drivers by using the Windows Logo Program and Windows Certification Program tests, follow these steps:
You must have a dashboard account in order to submit drivers to the Windows Certification Program. To get one, follow these steps:
Get a code signing 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 company address information.
Review the latest requirements for the Unclassified category in the Windows Logo Program, Device Fundamentals that would apply to “Other Device” or Driver in the Windows Hardware Certification Program, and/or Filter Driver Product Type in the Windows Certification Program.
The Unclassified and “Other Device” categories are described in this Windows Certification Program Policy document [119 KB - DOCX], requirement
Boot start drivers must be self-signed with an embedded signature, as described in the requirement Device.DevFund.Reliability.Signable section of the Windows Certification Program, Hardware Certification Requirements document.
The Filter Drivers Product Type is described in the Filter Drivers area of the Windows 8 Filter Driver requirements.
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.
Use the kit to automatically detect the appropriate tests. Note that for drivers that do not have features that the Kit detects [Other Devices], only a small number of tests may be scheduled.
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.
Check the Windows Hardware Certification Blog for updates in test policies and processes.
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 Dev Center 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 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 Dev Center 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 run tests on the driver and submit results for each operating system family. In some cases, it is possible to merge the test results package in order to obtain driver certification for these operating systems. For information about submitting a Windows HCK package, see Create a New Hardware Certification Submission. For information about submitting a WLK package, see Create a New Hardware Logo Submission.