The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.
Check out The OSR Learning Library at: https://www.osr.com/osr-learning-library/
For some time, we've been signing our driver in a slightly complicated way. We first cross sign it using a Digicert certificate and then the cross signing certificate:
$result = &"C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x86\signtool.exe" sign /f $env:PFX_SECUREFILEPATH /p $env:PFX_PASSWORD /ph /ac "C:\Program Files (x86)\Windows Kits\10\CrossCertificates\DigiCert_Assured_ID_Root_CA.crt" /fd sha256 /tr http://timestamp.digicert.com /td sha256 /as $_.FullName 2>&1
Then we wrap it in a Cab file, EV sign it with an EV signing token and use the MS hardware portal REST API to attestation sign it via the MS Partner Portal. This gives the driver two certificates (ours and Microsoft's) and ours is also cross signed.
Recently, we tried to renew our general code signing certificate and digicert told us that they no longer support cross signing because Microsoft has deprecated it. They pointed us at this document:
This document seems to suggest that Windows 7 should now be supported via Partner Centre signing alone. However, when I take out the cross sign, I find that our driver will no longer load on Windows 7 (latest updates) and will only load on Windows 10. Others have pointed out that cross-signing is actually required for Windows 7:
So.. has anyone else had this issue? How are you now supporting Windows 7 if you have a certificate which doesn't support cross signing? Digicert tell me that Microsoft alone can now cross-sign drivers.
Here's the error we get on Win7 and what our cert looks like now:
|Upcoming OSR Seminars|
|OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!|
|Internals & Software Drivers||15 November 2021||Live, Online|
|Writing WDF Drivers||TBD||Live, Online|
|Developing Minifilters||7 February 2022||Live, Online|
|Kernel Debugging||21 March 2022||Live, Online|