Вот отличный ответ SO, который охватывает создание самозаверяющего ЦС, а затем подписание исполняемых файлов с полученными сертификатами: Как создать самозаверяющий сертификат для подписи кода Windows?.
Я прочитал много дискуссий в Интернете о том, как работает подпись драйвера, и ответ кажется почти недвусмысленным, что вы не можете загружать неподписанные или самозаверяющие драйверы, не включив режим тестирования. Тем не менее, ответ, который я связал с особенно одним комментарием Роджера Липскомба, кажется, представляет собой противоречивое мнение:
Если вы хотите использовать это для подписания драйверов, вам необходимо импортировать CA сертификат в магазин. Мой пример импортирует его в пользовательский магазин, который подходит для большинства программ, для тестирования/внутреннего целей.
Мне кажется, что я смогу установить драйверы с самозаверяющими сертификатами (выпущенными самозаверяющим ЦС), пока сертификат CA будет импортирован в хранилище. Мне не нужно будет вносить какие-либо другие изменения в систему (отключив тестовый режим, нажав F8 в меню загрузки, возиться с флагами конфигурации загрузки, такими как TESTSIGNING или NOINTEGRITYCHECKS).
Правильно ли я? Каковы препятствия, если таковые имеются, что этот метод не используется более широко, когда людям необходимо загружать драйверы, у которых нет надлежащих цифровых подписей (таких как старые драйверы принтера и т.д.). Вместо этого люди полагаются на загрузку в тестовый режим или стороннее программное обеспечение (DSEO), которое подталкивает ваши системные файлы для запуска таких драйверов.
Каковы недостатки этого метода? Процесс, описанный в вышеуказанном вопросе SO, требует прав администратора, но установка драйверов им в любом случае нуждается. Доверие к самозаверяющему ЦС может быть угрозой безопасности - но не приведет к отключению всех проверок подписи еще большим риском для безопасности?