Подтвердить что ты не робот

Как этот неподписанный драйвер установлен на 64-разрядной версии Windows 7?

При разработке нашего 64-битного драйвера мы поняли, что каждый драйвер должен быть правильно подписан цифрой для установки (кроме тестового режима).

В последнее время мы наткнулись на драйвер (для USB-камеры), который, похоже, не имеет действительной подписи. Во время установки мы получаем красный предупреждающий экран о неподписанных драйверах, но устройство работает правильно с использованием этого драйвера.

Я сделал фотографии. Извините за стену изображений, я боялся пропустить важный момент, так как я, очевидно, не понимаю, что происходит здесь.

Devive Manager

Device Manager

Свойства драйвера

dp

Сведения о драйверах

enter image description here

Файлы драйверов из% system32%\DriverStore\FileRepository

enter image description here

Сведения о сертификате

enter image description here

Для этого был отключен тестовый режим (и наш собственный драйвер правильно не загрузился).

Как они это сделали? Почему Windows загружает этот драйвер? Я был бы признателен за некоторые ссылки в документации, объясняющие это поведение.

Edit:

Используя подробный журнал CodeIntegrity, как это предлагается в комментариях, я ничего не вижу. В журнале отображается строка

Code Integrity обнаружил хэш файла для файла в oem132.cat

Этот файл существует в% system32%\catroot\some-guid и идентичен файлу cat, показанному на скриншоте выше; с истекшим сертификатом.

signtool verify /v /c .\mvBlueFOX_amd64.cat .\mvBlueFOX2.sys дает

Verifying: .\mvBlueFOX2.sys
File is signed in catalog: .\mvBlueFOX_amd64.cat
Hash of file (sha1): 19E6125B9C5F31E21EDA5DBAA5F77798F8E394C4

Signing Certificate Chain:
    Issued to: Class 3 Public Primary Certification Authority
    Issued by: Class 3 Public Primary Certification Authority
    Expires:   Thu Aug 03 00:59:59 2028
    SHA1 hash: A1DB6393916F17E4185509400415C70240B0AE6B

        Issued to: VeriSign Class 3 Code Signing 2009-2 CA
        Issued by: Class 3 Public Primary Certification Authority
        Expires:   Tue May 21 00:59:59 2019
        SHA1 hash: 12D4872BC3EF019E7E0B6F132480AE29DB5B1CA3

            Issued to: MATRIX VISION GmbH
            Issued by: VeriSign Class 3 Code Signing 2009-2 CA
            Expires:   Tue May 07 00:59:59 2013
            SHA1 hash: 75859F3121E3852E2894E1A7B388CB9E68EBC237

File is not timestamped.

SignTool Error: A certificate chain processed, but terminated in a root
        certificate which is not trusted by the trust provider.

Number of files successfully Verified: 0
Number of warnings: 0
Number of errors: 1
4b9b3361

Ответ 1

Вы можете отключить принудительное выполнение проверки подписей водителей следующим образом. Откройте командную строку в качестве администратора и введите:

bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS

bcdedit -set TESTSIGNING ON

См. предупреждение о безопасности. Если по какой-либо причине это не работает, вы можете просто удалить loadoptions с бицитом и выключить тестирование switch.

bcdedit /deletevalue loadoptions

bcdedit -set TESTSIGNING OFF

Гудлак!

Ответ 2

По умолчанию Windows 7 настроена на отклонение неподписанных дисков. Но есть много вариантов изнутри, которые могут изменить это свойство. Можно бессознательно изменить эти свойства. Кажется, это относится к вашей системе.

Подробнее см. Windows 7 - Отключить проверку подписей драйверов

Ответ 3

Исходное уведомление, увиденное во время установки, указывает на то, что драйвер не прошел проверку совместимости оборудования Microsoft Windows. В x64 окна, использующие подписанные драйверы, должны проверять целостность драйвера во время загрузки. Он не проверяет, подписан ли сертификат доверенным корнем или отметка времени действительна. Вы можете создать драйвер даже с истекшим сертификатом. Этот драйвер подписан действительным сертификатом, срок действия которого истек. Раньше я подписывал свои драйверы с истекшим сертификатом, датируя системное время при подписании и загрузке. Подписание кода должно выполняться только со списком сертификата поставщика, который упоминается на сайте Microsoft "Подпись кода VeriSign Class 3" является одним из них.

Ответ 4

Как способ ответа, возможно, это не тот ответ, который вы ищете, но он по-прежнему относится к этой теме.

Я согласен с последним комментарием к сообщению (тот, который вы попросили опубликовать в качестве ответа), но, кроме того, я также хотел бы добавить, что довольно легко заставить Windows 7 X64 использовать неподписанные драйверы (Я знаю это, потому что я должен сделать это, чтобы использовать мое устройство USB DVB-T)

Если вы перезагрузите компьютер и нажмите F8, чтобы открыть меню F8, вы должны обнаружить, что есть опция, позволяющая запускать беззнаковые драйверы.

Если вы не загружаетесь с этой опцией, вам ничего не мешает установить драйвер, но он не будет работать. Однако, если позднее вы загрузите свой компьютер, используйте меню F8 и выберите опцию unsigned drivers, после чего будут запускаться все неподписанные драйверы, установленные в системе, которые ранее не могли работать.

Я должен признаться, я делал это сам много раз, и поскольку я часто могу оставить свой компьютер загруженным и работающим в течение 3/4 недель за раз, я фактически загрузился в режиме F8, а затем забыл, что я 've сделал так, тогда задавался вопросом, почему у меня есть неподписанный драйвер, запущенный и загруженный.

Я не продвигаю это как ответ на ваш вопрос, но я просто размещаю его как альтернативный поток, который вы, возможно, захотите изучить, на основе моего собственного опыта запуска неподписанных драйверов на X64-W7