Что мне нужно сделать и сколько стоит подписать драйвер устройства для Windows Vista / 7 (32 и 64 бит)? - PullRequest
5 голосов
/ 29 апреля 2010

У меня есть некоторые драйверы, которые в основном LibUSB-Win32 с новым INF-файлом для описания идентификаторов продуктов / поставщиков и строк, описывающих мое оборудование. Это хорошо работает для 32-битных окон, но 64-битные версии имеют проблемы; а именно, что, по их мнению, Microsoft требует, чтобы все драйверы имели цифровую подпись.

Итак, мои вопросы таковы:

  1. Есть ли версия драйверов LibUSB-Win32, которые уже подписаны, которые я мог бы использовать?
  2. Если я не могу подписать несколько подписанных, что именно мне нужно сделать, чтобы подписать мои драйверы.
  3. Нужно ли подписывать 64 и 32-битные версии отдельно и будет ли это стоить дороже?
  4. Является ли эта бесплатной альтернативой подписанию?
  5. Существуют ли другие варианты, которые я должен рассмотреть, кроме требования, чтобы мои клиенты загружались в тестовом режиме каждый раз, когда они запускают свои машины (я бы не рассмотрел этот вариант).
  6. Есть ли другие варианты подписи кода, кроме Verisign? Очевидно, что инициатива бесплатного / открытого источника, такая как OpenID , будет потрясающей; -)

Ответы [ 4 ]

2 голосов
/ 30 апреля 2010

Возможно, вам удастся попробовать версию libusb libusb-winusb , которая пытается реализовать большинство существующих функций в драйвере winusb (который является двоичным файлом MS со знаком, поэтому нужно сделать это самому). Однако YMMV as winusb не на 100% соответствует всей функциональности, необходимой в libusb.

2 голосов
/ 12 февраля 2012

Есть две отдельные проблемы под рукой:

  1. Подписание файла изображения (то есть файла driver.sys) для удовлетворения подписи кода режима ядра (KMCS)
  2. Подписание пакета драйвера для выполнения установки драйвера (т. Е. Файл driver.cat).

Если вы возьмете существующий драйвер, подписанный другим объектом (будь то Microsoft WinUSB или libusb-win32), это удовлетворит KMCS.

Что касается установки драйвера, вам понадобится собственный сертификат подписи кода для подписи файла .cat, который проверяет, что ваш .inf и файлы, на которые он ссылается (например, ваши файлы .sys), не были изменены и действительно получены из вы. Это несколько меньше проблем, так как в отличие от KMCS (который останавливает загрузку вашего драйвера), он не будет препятствовать установке вашего драйвера, а просто предупредит пользователя.

Сертификат подписи кода ( убедитесь, что он поддерживает KMCS! ) будет стоить вам сотни долларов США, в зависимости от выбранного вами ЦС. У некоторых могут быть планы, которые позволяют вам платить за подписывающее мероприятие, а не глобально в год. Если вам не нужно выпускать много версий, это может быть дешевле для вас.

1 голос
/ 29 апреля 2010

Вы можете использовать этот учебник , который игнорирует неподписанные драйверы. Я не думаю, что вы хотите платить, потому что это стоит около 400 долларов США!

Вот другой учебник

Вы также можете запустить CMD от имени администратора и запустить следующее:

bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS
bcdedit.exe -set TESTSIGNING ON
0 голосов
/ 15 мая 2012

Согласно моим исследованиям, подпись драйвера устройства может стоить всего 266 долларов США. Насколько я понимаю, только компания может подписать драйвер. Они не будут делать это для людей.

Ссылка: Сертификаты подписи кода CERTUM

...