Имеется виртуалка Windows Server 2008 x64, без обновлений (обновить нельзя, таков тестовый сценарий).
Имеется самособранный драйвер (в данном случае — для виртуальной сетевой карты, но с другими драйверами то же самое). Он подписан платным сертификатом с кросс-сертификатом (и сертификат, и подпись — SHA-1), на это дело сгенерирован и так же подписан каталог-файл. Корневой сертификат VeriSign в системе изначально отсутствовал, но был доустановлен в корневое хранилище, и теперь цифровая подпись считается корректной. Тем не менее, при установке выводится страшное красное окно о неподписанности (
скрин). Чем оно может быть вызвано и как от него избавиться?
Подробности:
1. Самое главное: если в этом окошке согласиться на установку, драйвер корректно ставится и работает (восклицательного знака в диспетчере устройств нет, сеть появляется и коннектится). То есть с точки зрения ядра подпись-таки валидна, но именно установщику драйвера чем-то она не нравится.
2. Все проверки, которые я смог придумать, также выдают, что с подписью всё в ажуре. А именно:
а) signtool verify /kp, запущенный на самой этой машине (иксами забил название компании):
| "Вывод" |
| Verifying: a:\Drivers\NetKVM\2k8\amd64\netkvm.sys
Signature Index: 0 (Primary Signature)
Hash of file (sha1): 47DA6FC61E9D2381097E0EC80678A181AC151655
Signing Certificate Chain:
Issued to: VeriSign Class 3 Public Primary Certification Authority - G5
Issued by: VeriSign Class 3 Public Primary Certification Authority - G5
Expires: Thu Jul 17 02:59:59 2036
SHA1 hash: 4EB6D578499B1CCF5F581EAD56BE3D9B6744A5E5
Issued to: VeriSign Class 3 Code Signing 2010 CA
Issued by: VeriSign Class 3 Public Primary Certification Authority - G5
Expires: Sat Feb 08 02:59:59 2020
SHA1 hash: 495847A93187CFB8C71F840CB7B41497AD95C64F
Issued to: XXXXXXXXXXXXXXX
Issued by: VeriSign Class 3 Code Signing 2010 CA
Expires: Sun Dec 03 02:59:59 2017
SHA1 hash: ADBC6D8FC1BC2729A995C1A0B3B27494718ADA4D
The signature is timestamped: Wed Jan 25 16:20:08 2017
Timestamp Verified by:
Issued to: DigiCert Assured ID Root CA
Issued by: DigiCert Assured ID Root CA
Expires: Mon Nov 10 03:00:00 2031
SHA1 hash: 0563B8630D62D75ABBC8AB1E4BDFB5A899B24D43
Issued to: DigiCert Assured ID CA-1
Issued by: DigiCert Assured ID Root CA
Expires: Wed Nov 10 03:00:00 2021
SHA1 hash: 19A09B5A36F4DD99727DF783C17A51231A56C117
Issued to: DigiCert Timestamp Responder
Issued by: DigiCert Assured ID CA-1
Expires: Tue Oct 22 03:00:00 2024
SHA1 hash: 614D271D9102E30169822487FDE5DE00A352B01D
Cross Certificate Chain:
Issued to: Microsoft Code Verification Root
Issued by: Microsoft Code Verification Root
Expires: Sat Nov 01 16:54:03 2025
SHA1 hash: 8FBE4D070EF8AB1BCCAF2A9D5CCAE7282A2C66B3
Issued to: VeriSign Class 3 Public Primary Certification Authority - G5
Issued by: Microsoft Code Verification Root
Expires: Mon Feb 22 22:35:17 2021
SHA1 hash: 57534CCC33914C41F70E2CBB2103A1DB18817D8B
Issued to: VeriSign Class 3 Code Signing 2010 CA
Issued by: VeriSign Class 3 Public Primary Certification Authority - G5
Expires: Sat Feb 08 02:59:59 2020
SHA1 hash: 495847A93187CFB8C71F840CB7B41497AD95C64F
Issued to: XXXXXXXXXXXXXXX
Issued by: VeriSign Class 3 Code Signing 2010 CA
Expires: Sun Dec 03 02:59:59 2017
SHA1 hash: ADBC6D8FC1BC2729A995C1A0B3B27494718ADA4D
Successfully verified: a:\Drivers\NetKVM\2k8\amd64\netkvm.sys
Number of files successfully Verified: 1
Number of warnings: 0
Number of errors: 0
|
| |
б) Аналогичный результат получаю при проверке файла-каталога, а также при проверке драйвера или INF-файла с отсылкой на каталог через /c.
в) В свойствах файла сертификат также отображается как валидный и актуальный (
скрин).
г) Непосредственно перед началом установки драйвера в диалоге сообщается, что This driver has an Authenticode(tm) signature (
скрин).
3. Дата/время на машине выставлены корректно, сертификат ещё не истёк, и в любом случае на драйвере и каталоге висят таймштамповые подписи (опять же, SHA-1, сделанные параметром /t, потому что RFC-3161 2008-я винда не понимает).