Mostly wrong for 64-bit systems (which nowadays is most systems), you can use a self-signed certificate, BUT you must enable test mode, which nobody on production system wants to do.
If you get a certificate from an supported CA, you sign your driver and can install that certificate in the correct root and approved vendor certificate stores (like with a setup program) and then you will not get the dialog notifying you the certificate is unknown. I haven’t done this in a little while so defer to somebody else EXACTLY which store you need to put the certificate into.
There were some reports here that self-signed certificates, installed in the root store, worked for ancient OS versions (I.e. Win XP). I can’t confirm or challenge this.
For modern Windows OS’s, which would be Win 7 or later, if you want to ship kernel code, you simply have to get a signing certificate from an approved vendor. If you get WHQL certification, which involves passing a bunch of tests, Microsoft will sign the driver, and you will not need to install your certificate, the OS will just trust it.
A code signing certificate may cost between $99 and $500, per year, depending on which vendor you use, and which discounts you qualify for. I generally find Verisign certificates are less trouble, unless you find a discount, can at the expensive end. Of course spending a few days of developer time fooling with a certificate that doesn’t quite work right is generally a lot more expensive.
Also note, you probably can no longer get SHA-1 certificates, and Win 7 needs an OS update to work correctly with SHA-2 certificates. It might be appropriate for a setup program to verify if that update is installed if it wants to install a SHA-2 signed driver. There was a discussion about this here a few months ago.
Also note 2, kernel code signing and PnP driver install signatures on a .cat are different things, and have slightly different requirements. What YOUR driver needs depends on what kind of driver it is.
Jan
From: Lloyd >
Reply-To: Windows List >
Date: Monday, December 15, 2014 at 9:23 PM
To: Windows List >
Subject: Re: [ntdev] Win7-64 bypass driver sign
Just wish to make sure what I understood is correct - I can create a self issued certificate, and install it to the trusted root certification authorities in a “fresh installed system”, then install my driver like any other “signed” driver. right?
In this case I need not enable test mode, right?
Thanks,
Lloyd
On Mon, Dec 15, 2014 at 7:24 PM, > wrote:
The only other way would be to run with the debugger attached.
While it doesn’t BYPASS the security check, you can always sign the driver with your own self-issued certificate and then have the user install that cert in their trust root certification authorities certificate store on the target machine.
But those are really the only options…
If it was easy to bypass, it wouldn’t be much of a security check, would it?
Peter
OSR
@OSRDrivers
—
NTDEV is sponsored by OSR
Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
OSR is HIRING!! See http://www.osr.com/careers
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
— NTDEV is sponsored by OSR Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev OSR is HIRING!! See http://www.osr.com/careers 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