How to get WHQL certificate for keyboard and mouse class filter driver?

* Hi,

I am trying to WHQL my keyboard and mouse filter drivers, but I don’t know how to do that. Which category do they belong to? What procedure should I follow? What is the consequence if I don’t WHQL my keyboard and mouse class filter drivers?

Is there any document for the class filter driver WHQLing process? This is the first time I am dealing with the keyboard and mouse class filter driver.

Thanks,

zhongsheng

Wang, Zhongsheng wrote:

I am trying to WHQL my keyboard and mouse filter drivers, but I don’t
know how to do that. Which category do they belong to? What procedure
should I follow? What is the consequence if I don’t WHQL my keyboard
and mouse class filter drivers?

Your devices will be in the “Input” category. There are subcategories
for keyboards and pointing devices.

There are two purposes for going through WHQL testing. One is to
eliminate the “do you trust this publisher” warning when a non-WHQL
driver is installed. Two is to be able to use the Windows logo in your
device’s packaging and advertising materials. If you don’t need either
of those, then don’t go through WHQL.

How is your filter driver installed? If your device is not installed
through an INF file, then you can’t go through WHQL, nor do you need
to. Part of WHQL testing involved uninstalling and reinstalling, which
needs an INF file.

The process is basically this.
* Download and install the WLK (Windows Logo Kit) on a Windows 2008
Server R2 machine
* Configure one or more systems for testing
* Select the tests for your class of device
* Run them, gather the logs
* Create a Winqual account
* Submit your driver package and the logs through Winqual
* Pay the fee

WHQL will then send you your CAT file, with a Microsoft signature. That
is the end result of the process.

Is there any document for the class filter driver WHQLing process?
This is the first time I am dealing with the keyboard and mouse class
filter driver.

There is extensive documentation on the WHQL process. Start here:
http://msdn.microsoft.com/en-us/windows/hardware/gg463010.aspx


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

This email has been scanned for all viruses by the MessageLabs SkyScan
service.

>How is your filter driver installed? If your device is not installed

through an INF file, then you can’t go through WHQL, nor do you need
to. Part of WHQL testing involved uninstalling and reinstalling, which
needs an INF file.

Hi Tim,

Regarding to not installing through an INF file, I would like to know how to install that on X64 OS. I have a similar issue on this. I have a keyboard class upper filter WDF driver which is installed by an application without INF. I can have it installed and loaded successfully on x86 OS. However, on x64 OS, the OS refuses to load the driver because it’s not digitally signed unless I disable the force checking of the signature.

Thanks,
Marshall

Thanks Tim,

I do have an INF file for driver installation. It uses the recommended Rundll32 to install the class filter driver. There is a document for this.

If it is a device filter driver, I agree it can be run in keyboard/mouse category. I don’t know if I can use input category for mouse and keyboard class filter driver since I can’t run install/uninstall with this type of driver without reboot. I am wondering what is the catch here. Has anybody done the WHQL on this type of filter driver?

To be frankly, I don’t have 2 situations Tim described. I am just curious what is the requirement for class filter driver from Microsoft.

Thanks,
zhongsheng

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Thursday, December 08, 2011 10:03 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] How to get WHQL certificate for keyboard and mouse class filter driver?

Wang, Zhongsheng wrote:

I am trying to WHQL my keyboard and mouse filter drivers, but I don’t
know how to do that. Which category do they belong to? What procedure
should I follow? What is the consequence if I don’t WHQL my keyboard
and mouse class filter drivers?

Your devices will be in the “Input” category. There are subcategories
for keyboards and pointing devices.

There are two purposes for going through WHQL testing. One is to
eliminate the “do you trust this publisher” warning when a non-WHQL
driver is installed. Two is to be able to use the Windows logo in your
device’s packaging and advertising materials. If you don’t need either
of those, then don’t go through WHQL.

How is your filter driver installed? If your device is not installed
through an INF file, then you can’t go through WHQL, nor do you need
to. Part of WHQL testing involved uninstalling and reinstalling, which
needs an INF file.

The process is basically this.
* Download and install the WLK (Windows Logo Kit) on a Windows 2008
Server R2 machine
* Configure one or more systems for testing
* Select the tests for your class of device
* Run them, gather the logs
* Create a Winqual account
* Submit your driver package and the logs through Winqual
* Pay the fee

WHQL will then send you your CAT file, with a Microsoft signature. That
is the end result of the process.

Is there any document for the class filter driver WHQLing process?
This is the first time I am dealing with the keyboard and mouse class
filter driver.

There is extensive documentation on the WHQL process. Start here:
http://msdn.microsoft.com/en-us/windows/hardware/gg463010.aspx


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

This email has been scanned for all viruses by the MessageLabs SkyScan
service.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

INF signing is different than kernel code signing. ALL 64-bit kernel drivers
MUST be signed; initially a test certificate works (if you enable test
signing) but will eventually need a real signature from an approved CA, like
Verisign or Globalsign. You do not need WHQL testing to kernel sign 64-bit
code.

Jan

-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-485980-
xxxxx@lists.osr.com] On Behalf Of xxxxx@hotmail.com
Sent: Thursday, December 08, 2011 5:46 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] How to get WHQL certificate for keyboard and mouse
class filter driver?

>How is your filter driver installed? If your device is not installed
>through an INF file, then you can’t go through WHQL, nor do you need
>to. Part of WHQL testing involved uninstalling and reinstalling, which
>needs an INF file.

Hi Tim,

Regarding to not installing through an INF file, I would like to know how
to
install that on X64 OS. I have a similar issue on this. I have a keyboard
class
upper filter WDF driver which is installed by an application without INF.
I can
have it installed and loaded successfully on x86 OS. However, on x64 OS,
the
OS refuses to load the driver because it’s not digitally signed unless I
disable
the force checking of the signature.

Thanks,
Marshall


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

> -----Original Message-----

From: xxxxx@lists.osr.com [mailto:bounce-485994-
xxxxx@lists.osr.com] On Behalf Of Jan Bottorff
Sent: 09 December 2011 11:49
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] How to get WHQL certificate for keyboard and mouse
class filter driver?

INF signing is different than kernel code signing. ALL 64-bit kernel drivers
MUST be signed; initially a test certificate works (if you enable test
signing) but will eventually need a real signature from an approved CA, like
Verisign or Globalsign. You do not need WHQL testing to kernel sign 64-bit
code.

As the NTDEV FAQ should say, read Microsoft’s Kernel-Mode Code Signing Walkthrough:
http://msdn.microsoft.com/en-us/windows/hardware/gg487328

Step by step with all the commands you need to get your code signed to work on 64bit Windows.

Regards,
Tim.

xxxxx@hotmail.com wrote:

> How is your filter driver installed? If your device is not installed
> through an INF file, then you can’t go through WHQL, nor do you need
> to. Part of WHQL testing involved uninstalling and reinstalling, which
> needs an INF file.
Regarding to not installing through an INF file, I would like to know how to install that on X64 OS. I have a similar issue on this. I have a keyboard class upper filter WDF driver which is installed by an application without INF. I can have it installed and loaded successfully on x86 OS. However, on x64 OS, the OS refuses to load the driver because it’s not digitally signed unless I disable the force checking of the signature.

Right, but that’s a completely separate issue. The driver binary has to
be digitally signed on the 64-bit systems. Once the driver binary is
signed, the installation issues are exactly the same on 32-bit and
64-bit. I suspect you can already see that – your filter gets
installed correctly, but it will not load.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Tim Green wrote:

As the NTDEV FAQ should say, read Microsoft’s Kernel-Mode Code Signing Walkthrough:
http://msdn.microsoft.com/en-us/windows/hardware/gg487328

Step by step with all the commands you need to get your code signed to work on 64bit Windows.

I agree this is a FAQ, and I agree that particular document is
excellent, but this is a topic that is filled with confusion, overloaded
terms, and apparently conflicting requirements. This is one topic where
I don’t particularly mind seeing the same explanations repeated several
times from slightly different directions.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Wang, Zhongsheng wrote:

I do have an INF file for driver installation. It uses the recommended Rundll32 to install the class filter driver. There is a document for this.

So, you are using the [DefaultInstall] method? If so, that’s not a PnP
installation. That’s just a shortcut way to do a software installer.
Such a driver does not require WHQL.

If it is a device filter driver, I agree it can be run in keyboard/mouse category. I don’t know if I can use input category for mouse and keyboard class filter driver since I can’t run install/uninstall with this type of driver without reboot. I am wondering what is the catch here. Has anybody done the WHQL on this type of filter driver?

You can’t WHQL a filter driver. You WHQL a driver package. Class
filters don’t have a driver package, unless they are installed as part
of another installation.

To be frankly, I don’t have 2 situations Tim described. I am just curious what is the requirement for class filter driver from Microsoft.

Microsoft doesn’t have any requirements. It’s entirely up to you. If
the user experience you see when you install your device is acceptable
to you, then you’re done. You might want to run the WHQL tests just to
make sure you haven’t screwed up something in the interface, but there
are no requirements to do so.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Thanks Tim for the thorough explanation. I hope someday this kind of description can be added in WHQL test manual.

zhongsheng