views:

70

answers:

2

I've got some drivers which are basically LibUSB-Win32 with a new .inf file do describe product/vendor ids and strings which describe my hardware. This works fine for 32 bit windows, but 64 bit versions have problems; namely that Microsoft in their wisdom require all drivers to be digitally signed.

So my questions are thus:

  1. Is there a version of the LibUSB-Win32 drivers which are already signed I could use?
  2. If there aren't already some signed ones I can canibalise, what exactly do I have to do to get my drivers signed.
  3. Do I need to get 64 and 32 bit versions signed separately and will this cost more?
  4. Is this a free alternative to getting them signed?
  5. Are there any other options I should consider besides requiring that my customers boot into test mode each time they start their machines (not an option I'd consider).
  6. Are there any other options for code signing apart from Verisign? Obviously a free/open source initiative like OpenID would be awesome ;-)
+2  A: 

You can use this tutorial that ignores unsigned drivers. I don't think that you want to pay because it costs something like $400 USD!

Here is an other tutorial

You can also run CMD as administrator and run the following:

bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit.exe -set TESTSIGNING ON
Jonathan Czitkovics
I'd definitely shy away from requiring customers to boot into test mode or disable signing. First, it'll put the "Test Mode" tag on their desktop which could be confusing. Second, you're putting them in a position where unsigned and potentially untrusted kernel code could be loaded on their system.
Michael
@Micheal: I concur
Jon Cage
Worth pointing out the `bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS` doesn't work post Vista RTM.
tyranid
+1  A: 

You might be able to get away with trying the libusb-winusb version of libusb which tries to implement most of the existing functionality around the winusb driver (which is a signed MS binary so you don't need to do it yourself). However YMMV as winusb doesn't 100% map to all the functionality required in libusb.

tyranid