|
Ушел с форума
|
||||||||||||||||||||||||||||||||||||
Инструкция: подписывание драйверов для Windows 10 (EV)12.08.2016, 21:32. Показов 53141. Ответов 47
Эта статья - быстрый онлайн-помощник для тех, кто переходит на новое
подписывание драйверов в Windows 10 (EV, WHDC-портал). Здесь я постараюсь дать основные рекомендации, чтобы помочь избежать глупых ошибок и, не теряя времени, скорее адаптировать свои проекты под новые требования. Для того, чтобы начать подписывать драйверы по-новому, вам потребуется: * EV-сертификат, приобретенный у Symantec, DigiCert, GlobalSign, WoSign или Entrust. В тот момент, когда пишутся эти строки, поддерживаются только сертификаты, приобретенные в перечисленных выше организациях. В будущем список, вероятно, будет дополняться. По тексту ниже подразумевается, что сертификат уже установлен на вашем компьютере. * Аккаунт на Microsoft (LiveID). Регистрация там бесплатная и занимает несколько минут. * Утилита signtool с поддержкой SHA256. Утилиту лучше взять из последних версий WDK (8 и выше), так как старые версии не поддерживают SHA256 и некоторые другие возможности, которые вам потребуются. * Несколько часов свободного времени. Первое, что вам нужно сделать - зарегистрировать свою компанию на портале WHDC. Идем сюда: Microsoft Hardware Dev Center https://developer.microsoft.co... s/hardware жмем 'Dashboard' и логинимся в свой аккаунт Microsoft. Далее вам будет предложено скачать файл winqual.exe, подписать его своим сертификатом и загрузить обратно. Так портал определяет валидность сертификата, а также сможет сопоставить цифровую подпись с вашей компанией, если это будет необходимо. Команда подписи для signtool.exe затруднений вызывать не должна:
они указывают, что и для цифровой подписи, и для timestamp-сервера следует использовать SHA256, а не SHA1. EV-сертификаты используют только SHA2. Также обратите внимание, что здесь и далее больше не будут использоваться никакие кросс-сертификаты (ключ /ac), так как для 'attestation signing' (подписывание драйверов через веб-портал) это не требуется. Точно такой же командой вы будете подписывать submission (архив с файлами для подписи). Подписав и загрузив winqual.exe, вы попадете на страницу, где вам предложат указать сведения о компании - название, юридический адрес, почтовый индекс, телефон, e-mail... Судя по всему, эта информация не проверяется и нужна только "для галочки". Но указывать откровенно "липовые" данные, разумеется, не стоит. Вот и все, теперь вы успешно зарегистрированы на веб-портале WHDC. Осталось немного - дать нужные разрешения (permissions), а также подписать несколько соглашений, которые предлагает вам Microsoft (по поводу Anti-Malware, DRM и остальные в таком же духе, всего штук 10). Я не буду подробно описывать нужные шаги, т.к. они достаточно очевидны. После этого вам необходимо перелогиниться на веб-портале (выйти и зайти снова), чтобы изменения вступили в силу. Подписывание драйвера. Сначала вам нужно создать cab-архив с файлами для подписи внутри. Если пакет драйверов только один, cab-файл должен иметь такую структуру:
Так что если вы никогда не делали INF-файлов, придется этому научиться. Для legacy-драйверов можно использовать следующую заглушку, поставив только правильные названия: Кликните здесь для просмотра всего текста
Я сразу советую проверять, валиден ли ваш INF-файл, используя утилиту inf2cat из WDK. Например:
задействовать штатную утилиту Windows под названием makecab:
Я использую примерно такой шаблон:
он все равно будет проигнорирован и портал при подписи создаст новый. Важный момент: все пакеты драйверов в архиве должны быть под какую-то одну архитектуру - или x64, или x86. На MSDN пишут, что Driver Package может быть под обе архитектуры, но как правильно их упаковать в cab-архив - я так и не понял. Попытки добавить еще один уровень в дереве папок внутри архива (32/64, x86/x64, i386/amd64) успехом не увенчались. Видимо, самый простой путь - делать две submission, одну чисто под x64, вторую чисто под x86. Когда cab-архив будет готов, вам нужно подписать его своим сертификатом. Далее на веб-портале идем в раздел 'File signing services' и выбираем пункт 'Create driver signing submission'. После этого все очень просто: вы указываете название своей submission (произвольное, это нужно только для информативных целей), является ли ваш драйвер универсальным (см. концепцию 'Universal Driver' в MSDN), а также платформы, под которые собран драйвер, их в настоящий момент четыре: Microsoft Windows 10 AU Client family, x86 Microsoft Windows 10 AU Client family, x64 Microsoft Windows 10 Client family, x86 Microsoft Windows 10 Client family, x64 C x64/x86 все понятно, а вот разницу между Client и AU Client я не нашел - подпись в конечном итоге получается одинаковая. После этого вы загружаете свой cab-архив и жмете 'Submit'. Все. Обработка submission (процесс называется review) занимает некоторое время, у меня было где-то около 15 минут, иногда может затянуться, как пишут, на часы или даже сутки. Но обычно слишком долгий процесс обработки submission - признак того, что что-то пошло не так и процесс будет завершен с ошибкой. По завершении вам придет письмо на почту и архив с подписанными файлами можно будет скачать там же, на веб-портале. Кстати, можно запостить сразу несколько submission - они обрабатываются параллельно и в некоторых случаях можно сэкономить немного времени. В сведениях о цифровой подписи файлов, которые вам вернет портал, вы с удивлением (а кто-то, возможно, и с радостью) обнаружите, что вместо 'OOO Vasya Pupkin' будет вписано безликое и ужасное 'Microsoft Windows Hardware Compatibility Publisher'. Теперь драйвер можно ставить и запускать на Windows 10 - 1607 и никакие Secure Boot, Device Guard и т.п. не помеха. ---------------------------------------------------------------------------------- Теперь вопросы чисто практического плана. Q: Как быть с предыдущими версиями Windows (Vista, Windows 7, Windows 8, Windows 8.1)? A: К сожалению, здесь без вариантов: либо вам придется купить еще один сертификат SHA1 и использовать его, либо попробуйте пройти HLK-тесты через веб-портал и тогда получите подпись, которую понимают все указанные выше версии Windows. Прохождение HLK-тестов - достаточно большой и серьезный "квест", затрагивать эту тему здесь я не буду. Q: Как быть с Windows Server 2016 (vNext)? Его ведь нету в списке при отправке submission на веб-портале... A: Для Windows Server 2016 прохождение HLK-тестов для драйвера - единственный легальный способ поддержки, другие типы цифровых подписей система принимать не будет. Так что ждите через некоторое время очередную статью от меня про HLK. Q: Как обстоят дела с двойными сигнатурами? A: Портал добавляет свою подпись, не затирая старую. Поэтому можно, например, подписать .sys-файл сначала стандартным сертификатом с SHA1 старым способом с кросс-сертификатом (cross-signing), а затем отправить его на веб-портал, где ему будет добавлена вторая подпись SHA256 для Windows 10 (attestation signing). Такой драйвер сможет запускаться на любых версиях Windows. Однако в случае с cat-файлами это не сработает, потому что, как уже писалось выше, портал генерирует свой cat-файл, игнорируя тот, что лежит внутри cab-архива. Поэтому, если ваш драйвер ставится через INF-файл и вы хотите поддерживать максимально возможный диапазон версий Windows, придется иметь несколько пакетов драйвера, один для систем до Windows 10, второй для Windows 10 и выше. Q: Что делать с модулями, которые собираются с ключом /INTEGRITYCHECK и, согласно MSDN, должны подписываться с опцией /ph (generate page hashes)? Например, драйвер, использующий Object Callbacks (ObRegisterCallbacks)? A: Ничего не нужно. Система подписывания остается такой же, как и для остальных драйверов Windows 10. Q: EV-сертификат поставляется на USB-токене, это секьюрно, но неудобно. У нас разработчики географически удалены друг от друга, а подписывать, получается, может только один? A: К сожалению, здесь действительно есть ряд неудобств. Например, токен SafeNet не работает нормально в RDP-сессии и время от времени начинает требовать ввод пароля (PIN). Для решения этой проблемы можно настроить параметры, как написано здесь: Automate Extended Validation (EV) code signing http://stackoverflow.com/quest... de-signing А также воспользоваться приведенным кодом и утилитой RemoteSignTool (обертка над signtool.exe, работающая через интернет). В настоящее время ведутся дебаты о том, чтобы оставить EV только для регистрации на веб-портале, а для подписи submission использовать "обычные" сертификаты (т.е. без USB-токенов и тому подобного): EV Cert to be Requires for EVERY sysdev submission... http://www.osronline.com/showt... ink=278314
10
|
||||||||||||||||||||||||||||||||||||
| 12.08.2016, 21:32 | |
|
Ответы с готовыми решениями:
47
И еще про подписывание драйверов на Windows 10 Подписывание драйверов на Windows 10 Anniversary Update (1607) Подписывание драйверов из Visual Studio 2013 (как настроить?) |
|
0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 12
|
||
| 25.08.2017, 11:00 | ||
|
chkinf раньше не пробовал, сейчас запустил - она посчитала ошибкой то, что строка не заключена в кавычки: DriverFile=vrtaucbl.sys Мне всегда казалось, что строковые переменные подставляются тупо, вместе с кавычками, если они есть. Надо будет попробовать добавить кавычки.
0
|
||
|
0 / 0 / 0
Регистрация: 07.05.2016
Сообщений: 12
|
||
| 31.12.2017, 18:27 | ||
|
Структура DDF
.Set DestinationDir=std_trial
std_trial\vrtaucbl.inf .Set DestinationDir=std_trial\x86 std_trial\x86\vrtaucbl.sys .Set DestinationDir=std_trial\x64 std_trial\x64\vrtaucbl.sys .Set DestinationDir=std_full std_full\vrtaucbl.inf .Set DestinationDir=std_full\x86 std_full\x86\vrtaucbl.sys .Set DestinationDir=std_full\x64 std_full\x64\vrtaucbl.sys .Set DestinationDir=ntx_trial ntx_trial\vrtaucbl.inf .Set DestinationDir=ntx_trial\x86 ntx_trial\x86\vrtaucbl.sys .Set DestinationDir=ntx_trial\x64 ntx_trial\x64\vrtaucbl.sys .Set DestinationDir=ntx_full ntx_full\vrtaucbl.inf .Set DestinationDir=ntx_full\x86 ntx_full\x86\vrtaucbl.sys .Set DestinationDir=ntx_full\x64 ntx_full\x64\vrtaucbl.sys То есть, четыре сборки, в каждой по модулю x86 и x64. В портале отмечал галочками все предлагаемые виды подписей, кроме ARM. Так что жить можно.
0
|
||
|
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
|
|
| 10.07.2025, 01:08 | |
|
Прошу прощения за оффтоп, но процесс регистрации в Microsoft в качестве разработчика поменялся.
Есть EV сертификат, есть готовый драйвер, но не получается зарегистрироваться в "Hardware Developer Program". Может кто-нибудь знает актуальную инструкцию? P.s. Каждый день плачу, что Убежденный, ушел с форума ![]() P.s2. Возможно из России сейчас невозможна регистрация?
0
|
|
|
Модератор
2622 / 759 / 164
Регистрация: 10.06.2009
Сообщений: 2,986
|
|
| 08.08.2025, 22:12 | |
|
Nalik, осталась возможность через посредника. Получаем сертификат соотвествия у M$, а дальше идем к посреднику у которого можно подписать.
1
|
|
|
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
|
|
| 08.08.2025, 22:36 | |
|
NoNaMe, инструкция Убежденный к сожалению чуть-ли не полностью устарела. Сейчас шаги регистрации значительно усложнились.
- Нужно создать аккаунт в Microsoft Entra (внутри Azure). - Потом заполнять анкету. - Потом ты подписываешь предложенный ими файл "SignableFile.bin" своим EV-сертификатом. - Потом потребуется пройти верификацию личность (Identity verification) с загрузкой документов через сервис AU10TIX. - Потом идет проверка занятости, так называемая "Employment verification". - Потом проверка бизнеса "Business verification". Возможно есть еще какие-то шаги, но мне о них не известно. При чем способы проверки, анкеты и т.д. могу отличаться от страны к стране, но в общих чертах все +- будет одинаково. Так же на любом из этих этапов можно зависнуть от нескольких дней, до нескольких недель. Поскольку в любой момент может например не приходить письмо подтверждения на почту, или ты не сможешь принять звонок от MS. Поддержка отвечает крайне долго и не охотно. Регистрация может пройти и гладко, но наверно это нужно быть везунчиком. Даже сайт регистрации у них довольно сильно подвисает. А и да, из РФ можете не пробовать даже зарегаться, РФ у них в ЧС.
0
|
|
|
Модератор
2622 / 759 / 164
Регистрация: 10.06.2009
Сообщений: 2,986
|
|
| 08.08.2025, 23:32 | |
|
Nalik, на сколько зная, если хоть частичная деятельность будет замечена со странами из ЧС, они просто могут ничего не отвечать.
0
|
|
|
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
|
|
| 08.08.2025, 23:34 | |
Сообщение было отмечено NoNaMe как решение
Решение
NoNaMe, так и есть. Как только достоверно узнали, что я из страны ЧС - сразу игнор. Тикеты просто закрываются без обратных сообщений.
0
|
|
|
0 / 0 / 0
Регистрация: 08.12.2025
Сообщений: 1
|
|
| 08.12.2025, 22:48 | |
|
NoNaMe, Подскажи пожалуйста, может ты знаешь каких то посредников кто может с этим помочь? Был бы очень признателен.
0
|
|
| 08.12.2025, 22:48 | |
|
WDK Windows. IDE для драйверов Поиск драйверов для Windows XP х32 А сайте HP нет драйверов для windows 7 Настройка драйверов на звук для Windows 10 64bit Настройка VS под windows 7 для написания драйверов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Содержание проекта
Симуляция вековой (50 лет) экологической сукцессии в почве леса
Основные участники: АМ-гриб, ЭКМ-гриб,. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|