- Как подписать драйвер
- Как подписать драйвер для работы устройств на Windows 10 или Windows 7
- Необходимые инструменты
- Создание самоподписанного сертификата и приватного ключа
- Создание Файла Каталога
- Подписание драйвера
- Установка самоподписанного сертификата
- Установка драйвера
- Пошаговое руководство по подписыванию и подготовке драйверов аппаратных устройств
- Подписывание пакета драйвера устройства
- Пошаговая схема подписывания пакета драйвера
- Шаг 1. Создание цифрового сертификата для подписывания кода
- Шаг 2. Добавление сертификата в хранилище доверенных корневых центров сертификации
- Шаг 3. Добавление сертификата в компьютерное хранилище доверенных издателей
- Шаг 4. Подписывание пакета драйвера устройства сертификатом
- Подготовка INF-файла пакета драйвера
- Создание CAT-файла для пакета драйвера
- Подписывание CAT-файла с помощью программы SignTool
- Размещение пакета драйвера устройства в хранилище драйверов
- Пошаговая схема размещения пакета драйвера устройства в хранилище драйверов
- Шаг 1. Попытка разместить неподписанный пакет драйвера
- Шаг 2. Попытка разместить подписанный, но впоследствии измененный пакет драйвера
- Шаг 3. Попытка разместить пакет драйвера, подписанный надлежащим образом
- Шаг 4. Проверочная установка подписанного пакета драйвера
Как подписать драйвер
По умолчанию все последние версии Windows запрещают устанавливать драйверы устройств, которые не подписаны действительной цифровой подписью. Такие драйверы блокируются системой. Цифровая подпись гарантирует (в некоторой степени), что драйвер был выпущен определенным разработчиком или поставщиком, и его код не был изменен после того, как он был подписан.
Проще говоря, если драйвер подписан, то компьютер считает, что он не менялся после того как его сделали разработчики соответствующего оборудования, и что никакие злые хакеры не вписали в драйвер вредоносный код, который мог бы украсть Ваши пароли или ещё чего плохого натворить.
Как подписать драйвер для работы устройств на Windows 10 или Windows 7
Разных причин отсутствия подписи много, и раз Вы это читаете, то скорее всего столкнулись с одной из таких причин. В этом примере попробуем установить довольно старый драйвер для звуковой карты, для которого уже истек срок активности сертификата. Архив с драйверами был загружен с веб-сайта производителя ноутбуков, укомплектованных соответствующей видеокартой (нам удалось найти версию драйвера для Windows XP). Чтоб было удобнее работать с драйвером, он был перемещён в специально созданную под него папку: c:\drv\ (папка с названием “drv” на диске “C”). Пробуем установить драйвер путем добавления его через консоль в хранилище драйверов, с помощью стандартного инструмента pnputil:
Pnputil –a c:\drv\HDALC2.inf
Для этого впишите “cmd.exe” в поисковой строке рядом с кнопкой “Пуск” и нажмите “Запустить от имени администратора”. Если у Вас на этом этапе открывается окно с предупреждением, нажмите “Да”.
Можете или скопировать адрес из примера и вставить в консоль нажатием правой кнопки мышки, или ввести вручную. Только не забудьте поменять название файла драйвера из примера на название файла Вашего драйвера, а также поменять адрес, если Вы распаковали драйвер в другую папку.
Ожидаемо, получаем ошибку, указывающую на то, что в INF-файле не удаётся обнаружить информацию о цифровой подписи.
То же сообщение мы получим если попробуем нажать на файле драйвера ПКМ и выбрать “Установить”.
Настало время попробовать подписать драйвер свежесозданным сертификатом.
Необходимые инструменты
Чтобы сгенерировать подпись и подписать драйвер, вам необходимо загрузить и установить следующие инструменты разработки приложений (с настройками по умолчанию):
- .NET Framework 4 — нужен для работы нижеуказанных инструментов;
- Windows SDK (можно не скачивать, если у Вас есть Visual Studio 2005 или новее) для вашей версии Windows. В комплект входит набор инструментов для подписания, в котором и находится нужное средство — signtool.exe;
- WDK 7.1.0.
Создание самоподписанного сертификата и приватного ключа
- Создайте папку “DrvCert” на диске “C”
- Вернитесь в консоль и введите cd C:\Program Files (x86)\Windows Kits\10\bin\x64\
- Создайте самоподписанный сертификат командой makecert -r -sv C:\DrvCert\myDrivers.pvk -n CN=»Company» C:\DrvCert\myDrivers.cer , — где вместо «Company» можно ввести любое другое название условной компании, для которой издается сертификат. В процессе Вам нужно будет задать пароль. Возьмём для примера “0rPr0RpR”.
- Создайте публичный ключ командой cert2spc C:\DrvCert\myDrivers.cer C:\DrvCert\myDrivers.spc
- Совместите публичный и приватный ключи в сертификате с форматом .pfx с помощью команды pvk2pfx -pvk C:\DrvCert\myDrivers.pvk -pi 0rPr0RpR -spc C:\DrvCert\myDrivers.spc -pfx C:\DrvCert\myDrivers.pfx -po 0rPr0RpR — где в конце тот пароль, который Вы вводили ранее.
Создание Файла Каталога
- Теперь нужно создать папку C:\DrvCert\hda и скопировать в неё все файлы из папки, в которую первоначально был извлечен драйвер из архива (c:\drv\). Среди этих файлов обязательно должны быть файлы форматов .sys и .inf (в примере: RTKHDAUD.sys и HDALC2.inf).
- Вернитесь в консоль и введите cd C:\WinDDK\7600.16385.1\bin\selfsign
- Создайте файл CAT (в нём находится информация о расположении файлов в пакете драйвера) на основе файла INF с помощью средства inf2cat.exe (входит в комплект WDK). Для этого запустите следующую команду: inf2cat.exe /driver:»C:\DrvCert\hda» /os:7_X86 /verbose .
Подписание драйвера
- Введите cd C:\Program Files (x86)\Windows Kits\10\bin\x64\
- Теперь набор файлов драйверов нужно подписать сертификатом, который вы создали ранее, используя службу Globalsign.
Следующая команда подпишет файл CAT цифровой подписью, используя сертификат, хранящийся в файле PFX, защищенный введенным ранее паролем: signtool sign /f C:\DrvCert\myDrivers.pfx /p 0rPr0RpR /t http://timestamp.verisign.com/scripts/timstamp.dll /v C:\DrvCert\hda\hda32.cat , где в конце — название .cat файла который появился в папке
Если всё прошло успешно то появится сообщение:
Successfully signed: C:\DrvCert\xg\HDALC2.cat
Установка самоподписанного сертификата
Поскольку созданный только-что сертификат является самоподписанным, по умолчанию система ему не доверяет. Добавьте свой сертификат в хранилище сертификатов локального компьютера:
certmgr.exe -add C:\DrvCert\myDrivers.cer -s -r localMachine ROOT
certmgr.exe -add C:\DrvCert\myDrivers.cer -s -r localMachine TRUSTEDPUBLISHER
Установка драйвера
Вводим команду: Pnputil –i –a C:\DrvCert\hda\HDALC2.inf
Теперь ошибка как при первой попытке не появляется, а вместо неё видим сообщение об успешной установке драйвера.
Поздравляем с успешной установкой!
Можно было и избежать мороки с массой команд и установить драйвер с помощью отключения проверки сертификата, но об этом уже в другой статье.
Пошаговое руководство по подписыванию и подготовке драйверов аппаратных устройств
Посетителей: 47470 | Просмотров: 77258 (сегодня 0)
Подписывание пакета драйвера устройства
Для того чтобы подписать пакет драйвера, Вам необходимо иметь цифровой сертификат, предназначенный для подписывания кода. Для получения дополнительной информации о различных типах сертификатов и о процессе их получения обратитесь к разделу «Дополнительные ресурсы» данного руководства. В этом разделе будет описан процесс создания сертификата, который Вы сможете использовать в целях тестирования.
Пошаговая схема подписывания пакета драйвера
Шаг 1. Создание цифрового сертификата для подписывания кода
На этом шаге Вы создаете сертификат, который может использоваться для подписывания пакета драйвера тестового устройства «Toaster».
Запустите консоль управления MMC и откройте оснастку Certificates для просмотра имеющихся сертификатов.
Важно
Не запускайте оснастку с помощью команды certmgr.msc, поскольку по умолчанию эта команда открывает хранилище сертификатов учетной записи текущего пользователя, а в данной процедуре требуется, чтобы сертификаты размещались в хранилище локального компьютера.
Для открытия оснастки «Certificates» консоли управления MMC выполните следующие действия:
Нажмите кнопку Start, выберите в меню команду Run и в открывшемся окне введите: mmc
В меню File окна Console Root выберите команду Add/Remove Snap-in.
В окне Add or Remove Snap-ins выберите оснастку Certificates и нажмите кнопку Add.
В диалоговом окне Certificates snap-in установите переключатель в положение Computer Accountи нажмите кнопку Next.
В диалоговом окне Select Computer установите переключатель в положение Local computer: (the computer this console is running on) и нажмите кнопку Finish.
Нажмите кнопку OK, чтобы закрыть окно Add or Remove Snap-ins.
Оснастка Certificates должна появиться в дереве консоли.
Теперь Вы можете создать сертификат.
Примечание
Вы не можете использовать открытое ранее окно командной строки Build Environment, поскольку оно было запущено без повышенных разрешений, необходимых для работы программы MakeCert. Запуск программы MakeCert без повышенных разрешений приведет к возникновению критической ошибки отказа в доступе (код 0x5 – Access Denied).
Для создания цифрового сертификата с помощью программы MakeCert выполните следующие действия:
Запустите окно командной строки Build Environment с повышенными разрешениями. Для этого в меню Start щелкните правой кнопкой мыши на значке Build Environment и в контекстном меню выберите команду Run as administrator.
В командной строке Build Environment наберите следующую команду одной строкой (в данном примере эта команда разделена на несколько строк для удобства чтения):
makecert -r -n «CN=MyCompany — for test use only»
-ss MyCompanyCertStore
-sr LocalMachine
Этот параметр указывает, что сертификат не будет подписан центром сертификации, а будет являться «самоподписанным». Такой сертификат также называется корневым.
-n «CN=MyCompany — for test use only»
Этот параметр задает имя нового сертификата. Рекомендуется использовать имена, позволяющие легко определить сертификат и его назначение.
Этот параметр задает имя хранилища, куда будет помещен новый сертификат.
Этот параметр указывает, что создаваемое с помощью параметра -ss хранилище является хранилищем локального компьютера, а не хранилищем учетной записи текущего пользователя.
Когда создание сертификата и хранилища сертификата будет завершено, в командной строке Вы увидите надпись «Succeeded».
Убедитесь, что Ваш новый сертификат был создан правильно. В открытой ранее оснастке Certificates консоли управления MMC раскройте узел Certificates (Local Computer) – MyCompanyCertStore – Certificates.
В правой панели дважды щелкните на сертификате MyCompany — for test use only.
Откроется диалоговое окно с информацией о сертификате.
Нажмите кнопку OK, чтобы закрыть диалоговое окно Certificate.
Шаг 2. Добавление сертификата в хранилище доверенных корневых центров сертификации
Выполнение данного шага требуется в случае использования локально созданных сертификатов, таких как сертификаты, созданные с помощью программы MakeCert, по которым нельзя проследить прямую цепочку до сертификата доверенного корневого издателя сертификации.
По умолчанию Ваш новый сертификат имеет статус не имеющего доверия (Untrusted), поскольку Windows не может проверить его достоверность в компьютерном хранилище доверенных корневых центров сертификации. Чтобы в операционных системах Windows Vista и Windows Server «Longhorn» любой сертификат считался действительным, необходимо, чтобы по нему можно было проследить прямую цепочку до сертификата, находящегося в этом хранилище.
Выполнение данного шага не требуется в случае использования коммерческих сертификатов, выданных Вам центром сертификации, поскольку эти сертификаты уже имеют свой корневой сертификат в компьютерном хранилище доверенных корневых центров сертификации.
Примечание
Сертификаты, размещенные в хранилище доверенных корневых центров сертификации текущего пользователя, не подтверждают достоверность цифровых подписей пакетов драйверов.
Для добавления тестового сертификата в хранилище доверенных корневых ЦС выполните следующие действия:
В оснастке Certificates консоли управления MMC щелкните правой кнопкой мыши на сертификате MyCompany — for test use only и в контекстном меню выберите команду Copy.
Щелкните правой кнопкой мыши на хранилище Trusted Root Certification Authorities и в контекстном меню выберите команду Paste.
Раскройте узел Trusted Root Certification Authorities – Certificates и в правой панели дважды щелкните на сертификате MyCompany — for test use only.
Убедитесь, что сообщение «Untrusted» больше не выводится, и нажмите кнопку OK, чтобы закрыть сертификат.
Шаг 3. Добавление сертификата в компьютерное хранилище доверенных издателей
Для того чтобы Ваш новый сертификат мог выступать в качестве подтверждения достоверности цифровой подписи пакетов драйверов, его также необходимо разместить в компьютерном хранилище доверенных издателей.
Примечание
Сертификаты, размещенные в хранилище доверенных издателей текущего пользователя, не подтверждают достоверность цифровых подписей пакетов драйверов.
Для добавления тестового сертификата в хранилище доверенных издателей выполните следующие действия:
В оснастке Certificates консоли управления MMC щелкните правой кнопкой мыши на сертификате MyCompany — for test use only и в контекстном меню выберите команду Copy.
Щелкните правой кнопкой мыши на хранилище Trusted Publishers и в контекстном меню выберите команду Paste.
Раскройте узел Trusted Publishers – Certificates и убедитесь, что копия Вашего сертификата находится в хранилище.
Нажмите кнопку OK, чтобы закрыть сертификат.
Шаг 4. Подписывание пакета драйвера устройства сертификатом
Если Вы используете тестовое устройство «Toaster» и его пакет драйвера – выполните следующие действия для замены существующей цифровой подписи своей собственной. Также эти действия следует выполнить, если Вы хотите внедрить в Вашей организации политику, для работы которой все драйверы устройств должны быть подписаны сертификатом Вашей организации.
Если Вы используете пакет драйвера, уже подписанный производителем, то этот пакет уже содержит рабочий файл каталога (CAT-файл), на который ссылается INF-файл. В этом случае Вы можете пропустить первые два шага и начать с шага «Подписывание CAT-файла с помощью программы SignTool».
Шаги, необходимые для подписывания драйвера устройства:
Подготовка INF-файла пакета драйвера
INF-файл управляет процессом установки пакета драйвера. Цифровая подпись пакета драйвера находится в файле каталога (файл с расширением .CAT). Убедитесь, что используемый для установки пакета драйвера INF-файл содержит ссылку на файл каталога.
В дополнение к этому, для драйвера тестового устройства «Toaster», использующегося в данном руководстве, Вы должны также изменить штамп времени и номер версии.
Совместный установщик (co-installer) – это предоставляемый производителем устройства программный код, который может быть выполнен в процессе установки устройства и который позволяет более гибко управлять программой установки. Совместный установщик драйвера тестового устройства «Toaster» отображает дополнительные программы, которые может установить пользователь. В данных сценариях совместный установщик не используется, поэтому в следующей процедуре Вы удалите его из INF-файла.
Примечание
Если Ваш пакет драйвера уже имеет цифровую подпись производителя и, следовательно, INF-файл уже ссылается на действительный файл каталога, Вы можете пропустить данную процедуру.
Для подготовки INF-файла пакета драйвера выполните следующие действия:
В окне командной строки Build Environment, запущенной с повышенными разрешениями, перейдите в папку, содержащую пакет драйвера. Для этого наберите следующую команду:
Наберите следующую команду:
В программе Notepad откроется содержимое INF-файла.
Найдите раздел [Version]. Исходный файл содержит следующие строки:
CatalogFile.NTx86 = tostx86.cat
CatalogFile.NTIA64 = tostia64.cat
CatalogFile.NTAMD64 = tstamd64.cat
Удалите эти три строки и замените их следующий строкой:
В разделе [Version] найдите строку, начинающуюся с DriverVer=. Замените дату и номер версии таким образом, чтобы получилась следующая строка:
В разделе [Toaster_Device.NT.CoInstallers] найдите и удалите следующие три строки:
Сохраните изменения и закройте программу Блокнот.
Создание CAT-файла для пакета драйвера
Следующим Вашим действием является создание CAT-файла для пакета драйвера тестового устройства «Toaster» с помощью программы Signability. Эта программа анализирует INF-файл пакета драйвера и генерирует уникальные хеши для всех файлов, на которые ссылается INF-файл. Получатель пакета драйвера использует хеши для проверки того, что полученные файлы не были изменены с момента подписывания.
Если Ваш пакет драйвера уже имеет цифровую подпись производителя, то CAT-файл уже существует, и Вам не нужно создавать новый файл. Вы можете пропустить данную процедуру и перейти к следующему шагу «Подписывание CAT-файла с помощью программы SignTool», чтобы заменить цифровую подпись разработчика драйвера своей собственной.
Примечание
Программа Signability должна выполняться из командной строки, запущенной с повышенными разрешениями.
Для создания CAT-файла для пакета драйвера выполните следующие действия:
В окне командной строки Build Environment, запущенном с повышенными разрешениями, наберите следующую команду:
signability /driver:c:\toaster\device /os:256 /auto /cat
Этот параметр указывает местоположение INF-файла для пакета драйвера. Вы должны указать полный путь. Символ «.» в данном случае не может использоваться для указания текущей папки в относительном пути.
Этот параметр указывает, что операционной системой является 32-разрядная версия ОС Windows Vista. Для получения полного списка поддерживаемых операционных систем и их кодов выполните команду signability /?.
Этот параметр указывает, что процедура должна быть выполнена автоматически, без вмешательства пользователя.
Этот параметр указывает, что создается файл каталога, указанный в INF-файле.
Просмотрите информацию, выводимую программой Signability. Обратите внимание на то, что для каждого файла выводится предупреждение о том, что CAT-файл не будет являться доверенным до тех пор, пока он не будет подписан Вами.
Signability v2.19 (engine v01.01.0005)
================================================
Test Results for c:\toaster\device
Testing versus the following operating systems:
Windows Vista (32-bit)
Final result: Test passed with warnings. (Details below.)
Warnings:
WARN: \toastpkg.inf is not represented by a signed catalog file.
WARN: \i386\toaster.sys is not represented by a signed catalog file.
WARN: \i386\tostrcls.dll is not represented by a signed catalog file.
Catalog files successfully generated.
Закройте программу Блокнот, когда закончите просмотр отчета.
Просмотрите созданный CAT-файл, который находится в папке «c:\toaster\driver». Для этого в командной строке наберите следующую команду:
Откроется диалоговое окно Security Catalog, показывающее, что каталог не подписан. Поскольку CAT-файл не подписан, кнопка просмотра цифровой подписи View Signature недоступна.
Перейдите на вкладку Security Catalog. В разделе Catalog entries содержатся три записи: для INF-файла, для SYS-файла и для DLL-файла, входящих в состав пакета драйвера. Щелкните мышью на каждой записи и обратите внимание на то, что в разделе Entry Details для каждого файла указан отпечаток (хеш), который может использоваться для проверки целостности файла.
Нажмите кнопку OK, чтобы закрыть диалоговое окно Security Catalog.
Подписывание CAT-файла с помощью программы SignTool
Теперь, когда у Вас имеется файл каталога, Вы можете подписать его с помощью программы SignTool. Независимо от того, используете ли Вы тестовое устройство «Toaster» или любое другое устройство, выполните следующие шаги.
Важно
При подписывании пакета драйвера Вам следует всегда устанавливать штамп времени, определяющий дату создания цифровой подписи. Если сертификат будет отозван по соображениям безопасности, или если закончится срок его действия, действительными будут только те подписи, которые были созданы ранее даты отзыва или окончания срока действия сертификата. Если штамп времени не включен в цифровую подпись, Windows не сможет определить, когда был подписан пакет – до или после даты отзыва или окончания срока действия сертификата, и цифровая подпись не будет принята.
Для подписывания CAT-файла с помощью программы SignTool выполните следующие действия:
В окне командной строки Build Environment, запущенном с повышенными разрешениями, наберите следующую команду одной строкой (в данном примере эта команда разделена на несколько строк для удобства чтения):
SignTool sign /s MyCompanyCertStore /n MyCompany
/t http://timestamp.verisign.com/scripts/timestamp.dll
toaster.cat
Этот параметр задает имя хранилища сертификатов, в котором программа SignTool осуществляет поиск сертификата, указанного в параметре /n.
Этот параметр задает имя сертификата, который используется для подписывания пакета драйвера. Вы должны указать достаточно длинный фрагмент имени сертификата, чтобы программа SignTool смогла отличить его от других сертификатов, расположенных в хранилище. Если имя сертификата содержит пробелы, Вы должны заключить его в двойные кавычки.
/t path to time stamping service
Этот параметр задает путь к службе штампа времени доверенного центра сертификации. Если Ваш сертификат был заказан у коммерческого поставщика, Вам должны были сообщить соответствующий путь к службе.
Этот параметр задает имя подписываемого CAT-файла и путь к нему.
По завершении работы программы Signtool Вы должны увидеть следующее сообщение:
Successfully signed and timestamped: toaster.cat
Для просмотра и проверки подписанного CAT-файла наберите в командной строке следующую команду:
Убедитесь, что в верхней части страницы общих свойств диалогового окна Security Catalog отображается информация о том, что каталог имеет статус доверенного (Trusted), а кнопка View Signature доступна.
Нажмите кнопку View Signature и убедитесь в правильности данных цифровой подписи, которую Вы добавили к пакету драйвера. Никакие другие элементы CAT-файла не были изменены.
Размещение пакета драйвера устройства в хранилище драйверов
Размещение пакета драйвера устройств в хранилище драйверов на клиентском компьютере позволяет обеспечить наиболее эффективную работу пользователя. После того, как подписанный пакет драйвера помещен в хранилище, Windows считает его надежным. До тех пор, пока для определенного устройства не заданы политики, ограничивающие его установку, пользователь может просто подключить это устройство, а операционная система автоматически установит соответствующий драйвер незаметно для пользователя.
В состав ОС Windows включена утилита PnPUtil, с помощью которой Вы можете работать с хранилищем драйверов, выполняя такие действия, как добавление, удаление и просмотр пакетов драйверов, находящихся в хранилище.
Важно
Вы можете работать с программой PnPUtil только в командной строке, запущенной с повышенными разрешениями. Программа PnPUtil не может вызывать диалоговое окно User Account Control. Если Вы попытаетесь использовать эту программу для добавления или удаления пакетов из командной строки, не запущенной от имени администратора, выполнение команд окончится неудачей.
Пошаговая схема размещения пакета драйвера устройства в хранилище драйверов
Шаг 1. Попытка разместить неподписанный пакет драйвера
Windows прерывает попытку установки неправильно подписанного пакета драйвера.
Чтобы попытаться разместить неподписанный пакет драйвера, выполните следующие действия:
В окне командной строки Build Environment, запущенном с повышенными разрешениями, временно переименуйте CAT-файл, чтобы гарантированно удалить цифровую подпись из пакета драйвера. Для этого наберите следующую команду:
Попытайтесь поместить неподписанный пакет в хранилище драйверов. Для этого в окне командной строки, запущенном с повышенными разрешениями, наберите следующую команду:
Поскольку INF-файл не подписан, Вы увидите диалоговое окно Windows Security. ОС Windows не может сопоставить этот файл с каким-либо сертификатом, являющимся доверенным для компьютера.
Щелкните Don’t Install.
Программа PnPUtil сообщит, что размещение пакета драйвера в хранилище окончилось неудачей:
Adding the driver package failed : A file could not be verified because it does not have an associated catalog signed via Authenticode(tm).
Adding at least one driver package failed!
Верните файлу каталога его первоначальное имя. Для этого в командной строке наберите следующую команду:
Шаг 2. Попытка разместить подписанный, но впоследствии измененный пакет драйвера
Windows также прерывает попытку установки пакета драйвера, который был изменен с момента подписания. Поскольку цифровая подпись включает в себя отпечатки для всех файлов пакета драйвера, изменение любого из них приводит к тому, что проверка достоверности цифровой подписи оканчивается неудачей.
Чтобы попытаться разместить подписанный, но впоследствии измененный пакет драйвера, выполните следующие действия:
Сохраните исходную копию файла toastpkg.inf. Для этого в командной строке наберите следующую команду:
Измените файл toastpkg.inf. Это приведет к тому, что отпечаток этого файла станет недействительным. Для изменения файла откройте его в программе Notepad:
Установите курсор в самом начале файла, нажмите клавишу Enter, чтобы добавить пустую строку, сохраните изменения и закройте программу Блокнот.
Попытайтесь поместить измененный пакет в хранилище драйверов. Для этого в командной строке наберите следующую команду:
Так как пакет был изменен с момента подписания, Вы увидите диалоговое окно Windows Security, предупреждающее о том, что цифровая подпись недействительна.
Щелкните Don’t Install.
Замените измененный файл modified .inf его исходной копией. Для этого в командной строке наберите следующую команду:
Шаг 3. Попытка разместить пакет драйвера, подписанный надлежащим образом
Чтобы попытаться разместить пакет драйвера, подписанный надлежащим образом, выполните следующие действия
Попытайтесь поместить пакет драйвера в хранилище драйверов. Для этого в командной строке наберите следующую команду:
Так как прикрепленная к пакету цифровая подпись является действительной, файлы пакета не были изменены, и отпечатки файлов пакета совпадают с отпечатками, содержащимися в цифровой подписи, Windows успешно поместит пакет драйвера в хранилище, не запрашивая у пользователя никаких действий. По завершении своей работы программа выводит имя, под которым был опубликован пакет драйвера, включающее в себя номер OEM, который Вы можете использовать для того, чтобы впоследствии при необходимости удалить пакет драйвера из хранилища. Запишите номер, присвоенный Вашему пакету драйверов.
Processing inf : toastpkg.inf
Driver Package added successfully.
Published name : oem4.inf
Примечание
Номер, присвоенный Вашему пакету драйвера, может отличаться от приведенного выше в зависимости от количества пакетов, уже установленных на компьютере.
Вы можете просмотреть список пакетов, находящихся в хранилище драйверов, запустим программу PnPUtil с параметром -e.
Чтобы убедиться, что пакет находится в хранилище драйверов, выполните следующие действия:
В командной строке наберите следующую команду:
Найдите в списке Ваш пакет драйверов с номером OEM, присвоенном при добавлении пакета в хранилище драйверов. Запишите этот номер, поскольку он может понадобиться Вам позже. Вы также можете видеть номер версии и дату, которые Вы указывали в INF-файле.
Published name : oem4.inf
Driver package provider : Toast?R?Us
Class : Unknown driver class
Driver verstion and date : 04/01/2006 9.9.9.9
Signer name : MyCompany — for test use only
Шаг 4. Проверочная установка подписанного пакета драйвера
На этом этапе пакет драйвера находится в хранилище драйверов. Пакет был помещен администратором в хранилище драйверов, операционная система выполнила проверку достоверности цифровой подписи, и, таким образом, драйвер устройства может быть установлен обычным пользователем. От пользователя требуется просто подключить устройство.
Примечание
Несмотря на то, что Windows может устанавливать драйверы, расположенные в хранилище драйверов, от имени обычного пользователя, в следующей процедуре Вы запускаете программу Enum.exe от имени администратора. Наличие повышенных разрешений необходимо не для процесса установки драйвера, а для того, чтобы можно было программно эмулировать установку аппаратного устройства. Если в следующей процедуре Вы используете реальное устройство и соответствующий драйвер, предоставленный производителем, то при подключении этого устройства Вам не требуется иметь в системе привилегии администратора.
Для выполнения проверочной установки пакета драйвера, размещенного в хранилище драйверов, выполните следующие действия:
Завершите сеанс работы и войдите в систему под учетной записью DMI-Client1\TestUser.
Запустите командную строку с правами администратора. Для этого в меню Start выберите пункт All Programs – Accessories, щелкните правой кнопкой мыши на значке Command Prompt и в контекстном меню выберите команду Run as administrator.
В диалоговом окне User Account Control Вам будет предложено указать имя и пароль учетной записи администратора. Выберите учетную запись DMI-Client1\TestAdmin и введите пароль для нее.
Откроется окно командной строки.
Запустите диспетчер устройств (Device Manager) для просмотра установленных в системе устройств. Для этого в командной строке, запущенной с повышенными разрешениями, наберите следующую команду:
Расположите окна на рабочем столе таким образом, чтобы Вы одновременно могли работать с командной строкой и видеть окно диспетчера устройств.
Перейдите в папку «c:\toaster». Для этого в командной строке наберите следующую команду:
Запустите программу Enum.exe, эмулирующую подключение устройства «Toaster». Для этого в командной строке наберите следующую команду:
По окончании установки драйвера устройства это устройство появится в окне диспетчера устройств.
Примечание
Не удаляйте устройство из системы, пока Вам не будет предложено сделать это в следующей процедуре.