Illustration by @Anonymous. Edited by @Anonymous.

Illustration by @Anonymous. Edited by @Anonymous.

This document outlines the steps to get a minifilter signed by Microsoft, including registering for the Windows Hardware Dev Center program, purchasing an EV code signing certificate, and using the Windows Hardware Certification Kit (HCK) or Windows Hardware Lab kit (HLK) to run tests and submit a test report.

Starting with Windows 10, version 1607, Microsoft requires all new kernel-mode drivers to be cross-signed. To get your minifilter signed, you'll need to go through a few steps. Here's a summary of what you need to do:

  1. **Register for the Windows Hardware Dev Center program.** You'll need an EV code signing certificate to register. You can purchase an EV code signing certificate from one of the recommended vendors. You can use the same certificate to sign your driver's package.
  2. Put your minifilter through a suite of tests designed by Microsoft. You will have to submit the test report to a portal managed by Microsoft.

We know getting a code signing certificate isn't as simple as getting an SSL certificatešŸ˜‘, but it's necessary.

VHLK | Windows Virtual Hardware Lab Kit

The Windows Hardware Certification Kit (HCK) is a test framework to run a suite of standard tests against the minifilter. To qualify for a Windows certification, your product must pass all the tests.

There are two test suits from Microsoft. Use Windows Hardware Certification Kit (HCK) for Windows 8.1 and older versions. If you are creating hardware or drivers for Windows 10, we require the new Windows Hardware Lab kit (HLK). We mostly work with Windows HLK. It is a test framework for hardware devices and drivers for Windows 11, Windows 10, and Windows servers starting from Windows 2016.

The Virtual HLK (VHLK) is the entire Hardware Lab Kit pre-installed and pre-configured on a VHDX, ready to boot as a virtual machine. Use the VHLK to save setup time, quickly set up aĀ Ā controller, and run Windows Hardware Certification from a Virtual Machine.

  1. After booting the VHLK, do not change the auto-generated computer name (i.e. WIN-xxxx).
  2. Generation 2 VMs are not supported by the VHLK.
  3. The default login credentials are HLKAdminUser with password Testpassword,1

<aside> šŸ’” Download the correct VHLK version for the devices you wish to test from here. Install HLK-Controller and HLK-Client only on Virtual Machines

</aside>

Requirements

Physical (Host) Machine Specification

Recommended: