[wdmaudiodev] Problem with test signed driver package

  • From: "Paul Titchener" <pt@xxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Sat, 25 Sep 2010 13:25:10 -0700

(whoops, last email was accidentally sent before it was completed, sorry about 
that)

I'm working on getting the sysfx sAPO example from the DDK to run.

I've got it running now in non-secure mode, with this reg key set to specify 
the non-secure mode:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Audio

"DisableProtectedAudioDG"=dword:00000001

Now I need to get it functioning in secure mode without using that registry 
setting, so I followed the instructions here:

http://msdn.microsoft.com/en-us/library/ff546236(v=VS.85).aspx

These instructions describe "How to Test Sign a Driver Package". The 
instructions include an example script which I used as the starting point.

First I created a certificate as shown below:

Makecert -r -pe -ss PrivateCertStore -n "CN=TestCertforWDK" TestCert.cer

Then I made a .cat file for the driver install .inf and .dll files:

inf2cat /driver:sysfxAPO /os:7_X86



Then I signed the .cat file and .dll files:

SignTool sign /s PrivateCertStore sysfx.cat

SignTool sign /s PrivateCertStore swapAPO.dll

SignTool sign /s PrivateCertStore PropPageExt.dll

Then I added the test certificate to the certificate store:

certmgr.exe -add testcert.cer -s -r localMachine root 

certmgr.exe -add testcert.cer -s -r localMachine trustedpublisher

After doing this, when installing the driver I do see less error messages 
relating to verfication occurring in the setupapi log files than prior to the 
signing.

However, with the DisableProtectedAudioDG registry setting off, the swapAPO.dll 
is not getting called during the audio processing, ie the processing isn't 
occuring.

Turning that reg setting back on and rebooting makes the swapAPO.dll do the 
processing correctly.

Also when you do a Properties->Driver->Driver Details on the installed swap 
driver, it shows all the expected installed dlls, but the swapAPO and 
PropPageExt dll don't have a certificate icon next to them, the other files 
shown do have the certificate, as do all the files for other audio drivers I've 
looked at.

If you do Properties on the swapAPO and PropPageExt dll files themselves, it 
shows there is a Digital Signatures tab, and as expected is shows a signature 
list with TestCertforWDK as the name of the signer.

One thing that's confusing to me though is none of the other installed dll 
files in the folder, which must signed correctly, even have a Digital 
Signatures tab.

Does anyone have any suggestions on what additional steps I need to take to get 
these test signatures to function correctly?

Thanks,

Paul T.

Other related posts: