Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Sept/Oct 2019 Issue of The NT Insider available


Download PDF here: http://insider.osr.com/2019/ntinsider_2019_01.pdf

It’s a particularly BIG issue, too: 40 pages of technical goodness, ranging from WDF to Minifilters. Check it out.
Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

WHQL vs Attestation signing for Win10

A_KA_K Member - All Emails Posts: 10

Hi everyone,

could you please share any relevant links or answer on a few questions below.

I have PnP (PCI) device driver. I need to certificate the driver only for Windows 10 x64.
I have successfully passed all WHQL tests using Win10 as a client machine and HLK version 17763.
Next, I prepared .hlkx file with my tests and signed the package using Hardware Token and sent the file to https://partner.microsoft.com/en-us/dashboard/hardware/Search
However, I got the following error:

Could not open package: D:\data\Temp\HardwareProcessorHost\HardwareProcessors\005\xxx.hlkx : at Microsoft.Windows.Kits.Hardware.ObjectModel.Submission.PackageManager..ctor(String packagePath)

at Microsoft.UniversalStore.HardwareWorkflow.Processors.HlkDecompressor.Decompress(String filepath, String outputDirectory) in E:\agent_work\98\s\Src\Processors\Source\Preparation\Decompress\HlkDecompressor.cs:line 48
at Microsoft.UniversalStore.HardwareWorkflow.Processors.PackageAnalysis.d__10.MoveNext() in E:\agent_work\98\s\Src\Processors\Source\Preparation\PackageAnalysis.cs:line 54

it looks like they cannot unpack my .hlkx file.
Next, I installed the latest HLK Studio version 18362, opened my existing .hlkx and successfully signed it again, but using this new .hlkx file I got the same error.
Next, I tried to use previous version of HLK - and this version (previous to HLK version 17763) cannot open my .hlkx.

Using powershell scripts I verified:
1. the .hlkx was signed correctly (with 17763 and 18362)
2. the .hlkx could not be opened with the previous HLK Client because similar callstack like from Microsoft (which is above).

Next I created cab file and successfully signed my PnP device driver with Attestation signing.
I've checked the driver with enabled Secure Mode on Win10 x64, it works well.

My questions are:
1. Is that possible to sign a driver using WHQL tests for Windows 10 x64 only? Microsoft Hardware Centre even doesn't have checkboxes for Windows 10 if I upload .hklx file.
2. if the Attestation signing works well with Secure Boot for a device driver, are there any benefits to pass WHQL tests? as I understand, Attestation signing allows to distribute the driver through Windows Updates as well.
3. Do anyone have the similar error on Hardware Centre? I found only one mention of the same issue here https://social.msdn.microsoft.com/Forums/en-US/c059a322-0065-40a3-9bc6-a1ec9d6d36c1/derived-driver-fails-at-preparation-stage?forum=whck but no answer

Comments

  • Peter_Viscarola_(OSR)Peter_Viscarola_(OSR) Administrator Posts: 7,443

    if the Attestation signing works well with Secure Boot for a device driver, are there any benefits to pass WHQL tests?

    The only advantage to passing the WHQL tests is that, in general, passing them is considered a "best practice." The only advantage to submitting your test results to MSFT is if one of your customers (in the broadest possible sense) requires that your driver/hardware be WHQL certified.

    For example, IHVs who are providing their hardware to one or more large OEMs are usually required by the OEMs to get WHQL Certification.

    Peter

    Peter Viscarola
    OSR
    @OSRDrivers

  • A_KA_K Member - All Emails Posts: 10

    Peter, thank you

    Name of signer in my sys file after Attestation signing is "Microsoft Windows Hardware Compatibility Publisher".
    isn't it a WHQL certified?

    The only advantage to submitting your test results to MSFT is if one of your customers (in the broadest possible sense) requires that your driver/hardware be WHQL certified.

    is that correct for any version of Windows or just for Win10?

  • Peter_Viscarola_(OSR)Peter_Viscarola_(OSR) Administrator Posts: 7,443

    isn't it a WHQL certified?

    No.

    is that correct for any version of Windows

    Attestation signing only works for Win 10. Current,y you can self-sign drivers for other versions of Windows.

    WHQL certification has never been required in order to load a driver on Windows. The need for WHQL is always driven only by customer requirements.

    Peter

    Peter Viscarola
    OSR
    @OSRDrivers

  • Tim_RobertsTim_Roberts Member - All Emails Posts: 13,102

    Name of signer in my sys file after Attestation signing is "Microsoft Windows Hardware Compatibility Publisher".
    isn't it a WHQL certified?

    No. To be WHQL certified, you have to pass the HCK/HLK tests and submit a test log. WHQL then checks the test log to prove that you passed the tests.

    With attestation signing, you are merely attesting (hence the name) that you did rudimentary tests on the driver. You don't submit test logs, so WHQL can't certify anything about your driver.

    Tim Roberts, [email protected]
    Providenza & Boekelheide, Inc.

  • Eric_WittmayerEric_Wittmayer Member Posts: 23

    @A_K said:
    ...
    2. if the Attestation signing works well with Secure Boot for a device driver, are there any benefits to pass WHQL tests? as I understand, Attestation signing allows to distribute the driver through Windows Updates as well.

    When publishing drivers on Windows Update, my experience has been that WHQL drivers publish much faster that attestation signed drivers.
    WHQL: hours
    Attestation: days.

    Is that just me?

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
Writing WDF Drivers 21 Oct 2019 OSR Seminar Space & ONLINE
Internals & Software Drivers 18 Nov 2019 Dulles, VA
Kernel Debugging 30 Mar 2020 OSR Seminar Space
Developing Minifilters 27 Apr 2020 OSR Seminar Space & ONLINE