Windows Vista Tips

Windows Vista Tips > Newsgroups > Windows Vista Drivers > Driver signing

Reply
Thread Tools Display Modes

Driver signing

 
 
Seb
Guest
Posts: n/a

 
      08-03-2010
Hi there

Let's see if someone could help me
I'm Developing a data acquisition system that sends the acquired data to the
PC via USB. Its working OK, but I have problems with the driver signing in
x64-based Windows.

I have read several info in Microsoft, and for what I have understood, there
are two way to sign the drivers. One way is performing the actions needed to
sign it via the WHQL (basically perform a test and submit the results in
Winqual). The other way is to sign it as a SPC (for which I need to obtain a
SPC from a Certificate Authority and sign the driver catalog).

Now the matter of the question:
Does anyone know which way should I take?
Which are the pros and cons of each way?

In the case of the WHQL: Which WLP category corresponds to the device?

Regards,
Seb
 
Reply With Quote
 
 
 
 
Maxim S. Shatskih
Guest
Posts: n/a

 
      08-03-2010
> PC via USB. Its working OK, but I have problems with the driver signing in
> x64-based Windows.


There are 2 100% different signing procedures.

1) PnP signing.

OS versions: from w2k up.
What is signed: the .cat file (it describes the whole PnP driver package)
When the signature is checked: at PnP package install (I think in SetupCopyOEMInf, which can be called by some higher-level functions).
Signature issues cause: red or yellow error message box "Do you trust this software?" or "Not digitally signed".
Can be bypassed by: installing the cert to Trusted Publishers (not on XP I think)
Eligible certs: for the full power of this, only WHQL. You can also use your cert, any one signed by a known trusted root, but you will need to install it to Trusted Publishers on the machine manually, OR to have a yellow box of "Do you trust the software from this company"?

WHQL uses the above described signing. IIRC the WHQL signed driver is signed by "Microsoft Windows Publisher" or something like, though keeping your company name in version info resource.

WHQL-signed drivers always install silently, non-WHQL-signed require the cert to be in Trusted Publishers for such.

2) KMCS

OS versions: Vista+ x64
What is signed: the .cat file or the .sys file, for boot-start driver, ..sys MUST be signed.
When the signature is checked: at driver binary load. It is also checked on x86 Vista+ OSes, but just logs the failure event to the Security log.
Signature issues cause: driver binary load failure (for a boot driver, can fail the whole boot - ".sys file is corrupt" or such) or (on x86 OSes) - Security log event.
Can be bypassed by:
F8 on boot, and "Disable Driver Signature Enforcement" from the Safe Mode text menu (white on black BIOS-mode text).
OR
"set testsigning on"+signing with a test cert+attaching a debugger.
Eligible certs: ONLY the corporate certs from a short list of trusted roots (Verisign and GlobalSign are there), MUST be used with MS's cross-cert for this root (to check the signature at boot where the cert stores with trusted roots are not booted yet).

You can use both signing methods - sign the .sys with KMCS and then the whole package with PnP signing (or send to WHQL to sign).

Also I've heard that there are protected (undebuggable) processes within Windows, like the audio server process, and any DLLs which are loaded there (like some global APOs or such) must be signed the same way as kmode .sys files.

The main purpose of KMCS is DRM, the main purpose of PnP signing is to enforce WHQL.

--
Maxim S. Shatskih
Windows DDK MVP

http://www.storagecraft.com

 
Reply With Quote
 
Tim Roberts
Guest
Posts: n/a

 
      08-06-2010
Seb <> wrote:
>
>I'm Developing a data acquisition system that sends the acquired data to the
>PC via USB. Its working OK, but I have problems with the driver signing in
>x64-based Windows.
>...
>In the case of the WHQL: Which WLP category corresponds to the device?


You'll have to go unclassified.
--
Tim Roberts,
Providenza & Boekelheide, Inc.
 
Reply With Quote
 
 
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Error Code 52 On Signed 64-Bit Kernel Driver - More Signing Needed DWinters Windows Vista Drivers 3 04-14-2010 08:36 PM
Skype set up jojo73 Windows Update 4 04-01-2010 12:16 PM
cannot install Vista ACPI error Salsakidd Windows Vista Installation 6 10-10-2007 10:12 AM
Vista auto-reboot after install OrangeGuy Windows Vista Installation 4 02-07-2007 02:05 AM
Re: No Matter What Installations Won't Boot On My Laptop Richard Urban Windows Vista Installation 1 01-06-2007 05:08 AM



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59