После долгих исследований я выяснил проблему.(Пожалуйста, ознакомьтесь с вопросом и особенно ответом.)
Для подписи драйверов уровня ядра требуется перекрестная подпись с помощью переключателя /AC
, Дополнительный сертификат, создающего цепочку перекрестных сертификатов для корневого сертификата Microsoft.
Соответствующие ссылки:
Ссылки на перекрестные сертификаты Microsoft
Примечание: статья в следующей ссылке была неправильной.Отпечаток пальца не должен совпадать.Эмитент, однако, должен точно соответствовать.
Драйверы режима ядра с перекрестной подписью
Драйверы Windows для подписи
Требуется эмитент
Я зашел в mmc и добавил сертификаты (персональные).Затем я дважды щелкнул свой сертификат SHA256 и отметил Эмитента, который в моем случае был:
CN = DigiCert Assured ID Root CA
OU = www.digicert.com
O = DigiCert Inc
C = US
Отпечаток моего сертификата, который не имеет значения:
0563 b8 63 0d 62 d7 5a bb c8 ab 1e 4b df b5 a8 99 b2 4d 43
Список перекрестных сертификатов Microsoft снова равен здесь .Моя загрузка была DigiCert Assured ID Root CA
, которая имеет отпечаток:
ba 3e a5 4d 72 c1 45 d3 7c 25 5e 1e a4 0a fb c6 33 48 b9 6e
Я использовал ссылку download для получения файла.Это дало мне файл «DigiCert Assured ID Root CA.crt».
Примечание: мне сказали, что сертификат должен быть расширением CER.Мое тестирование и разговор с DigiCert показали, что это не так.ЭЛТ прекрасно.
Командная строка инструмента рабочего знака:
C:\ICS\IM6000\Certificate>"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool.exe" sign /v /ac "DigiCert Assured ID Root CA.crt" /tr http://timestamp.digicert.com /td sha256 /fd sha256 /a "C:\ICS\IM6000\filter\objfre_win7_AMD64\amd64\icsflt.sys"
Чтобы проверить правильность знака креста, я настоятельно рекомендую ввести следующую строку:
"C:\Program Files (x86)\Windows Kits\8.1\bin\x64\signtool.exe" verify /kp /v "C:\ICS\IM6000\filter\objfre_win7_AMD64\amd64\icsflt.sys"
Обратите внимание на этот вывод из проверочного теста:
Verifying: C:\ICS\IM6000\filter\objfre_win7_AMD64\amd64\icsflt.sys
Signature Index: 0 (Primary Signature)
Hash of file (sha256): FAFB2B31B8ED4A9E8F9EC84196E7E52009A4C709521457FD83FC1945DCF5872F
Signing Certificate Chain:
Issued to: DigiCert Assured ID Root CA
Issued by: DigiCert Assured ID Root CA
Expires: Sun Nov 09 17:00:00 2031
SHA1 hash: 0563B8630D62D75ABBC8AB1E4BDFB5A899B24D43
Issued to: DigiCert SHA2 Assured ID Code Signing CA
Issued by: DigiCert Assured ID Root CA
Expires: Sun Oct 22 05:00:00 2028
SHA1 hash: 92C1588E85AF2201CE7915E8538B492F605B80C6
Issued to: JMR Electronics, Inc.
Issued by: DigiCert SHA2 Assured ID Code Signing CA
Expires: Mon Jan 28 05:00:00 2019
SHA1 hash: 9CDC225480659E8CDD6E794A81455C905403755B
The signature is timestamped: Mon Jun 04 16:35:45 2018
Timestamp Verified by:
Issued to: DigiCert Assured ID Root CA
Issued by: DigiCert Assured ID Root CA
Expires: Sun Nov 09 17:00:00 2031
SHA1 hash: 0563B8630D62D75ABBC8AB1E4BDFB5A899B24D43
Issued to: DigiCert SHA2 Assured ID Timestamping CA
Issued by: DigiCert Assured ID Root CA
Expires: Tue Jan 07 05:00:00 2031
SHA1 hash: 3BA63A6E4841355772DEBEF9CDCF4D5AF353A297
Issued to: DigiCert SHA2 Timestamp Responder
Issued by: DigiCert SHA2 Assured ID Timestamping CA
Expires: Mon Jan 17 17:00:00 2028
SHA1 hash: 400191475C98891DEBA104AF47091B5EB6D4CBCB
Cross Certificate Chain:
Issued to: Microsoft Code Verification Root
Issued by: Microsoft Code Verification Root
Expires: Sat Nov 01 06:54:03 2025
SHA1 hash: 8FBE4D070EF8AB1BCCAF2A9D5CCAE7282A2C66B3
Issued to: DigiCert Assured ID Root CA
Issued by: Microsoft Code Verification Root
Expires: Thu Apr 15 12:51:37 2021
SHA1 hash: BA3EA54D72C145D37C255E1EA40AFBC63348B96E
Issued to: DigiCert SHA2 Assured ID Code Signing CA
Issued by: DigiCert Assured ID Root CA
Expires: Sun Oct 22 05:00:00 2028
SHA1 hash: 92C1588E85AF2201CE7915E8538B492F605B80C6
Issued to: JMR Electronics, Inc.
Issued by: DigiCert SHA2 Assured ID Code Signing CA
Expires: Mon Jan 28 05:00:00 2019
SHA1 hash: 9CDC225480659E8CDD6E794A81455C905403755B
Successfully verified: C:\ICS\IM6000\filter\objfre_win7_AMD64\amd64\icsflt.sys
Number of files successfully Verified: 1
Number of warnings: 0
Number of errors: 0
Ключ здесь, кроме Successfully verified
цепочки перекрестных сертификатов, начинается с Issued to: Microsoft Code Verification Root
и заканчивается моим сертификатом цифровой подписи кода ивсе междуЭто то, что Microsoft хочет с Windows.Windows 7 или Windows 10 не имеет значения.
Мне также пришлось использовать signtool.exe
как минимум из Windows 8.1.Более ранние версии не поддерживали все необходимые коммутаторы, которые мне сказали использовать.
Хотя в конце мне не понадобился сертификат SHA1, выяснение того, как его получить, заняло несколько циклов.Мне несколько раз говорили, что мне это нужно, а мне нет.Для всех, кто заинтересован в инструкции, чтобы получить это здесь .В настоящее время все SHA256, даже на Windows 7 с исправлением.