Есть две отдельные проблемы под рукой:
- Подписание файла изображения (то есть файла driver.sys) для удовлетворения подписи кода режима ядра (KMCS)
- Подписание пакета драйвера для выполнения установки драйвера (т. Е. Файл driver.cat).
Если вы возьмете существующий драйвер, подписанный другим объектом (будь то Microsoft WinUSB или libusb-win32), это удовлетворит KMCS.
Что касается установки драйвера, вам понадобится собственный сертификат подписи кода для подписи файла .cat, который проверяет, что ваш .inf и файлы, на которые он ссылается (например, ваши файлы .sys), не были изменены и действительно получены из вы. Это несколько меньше проблем, так как в отличие от KMCS (который останавливает загрузку вашего драйвера), он не будет препятствовать установке вашего драйвера, а просто предупредит пользователя.
Сертификат подписи кода ( убедитесь, что он поддерживает KMCS! ) будет стоить вам сотни долларов США, в зависимости от выбранного вами ЦС. У некоторых могут быть планы, которые позволяют вам платить за подписывающее мероприятие, а не глобально в год. Если вам не нужно выпускать много версий, это может быть дешевле для вас.