Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Подпись драйвера для Vista 64  (Прочитано 13550 раз)
0 Пользователей и 1 Гость смотрят эту тему.
DeeoniS
Интересующийся

ru
Offline Offline

« : 09-10-2008 11:09 » 

Здравствуйте. Есть сертификат от VeriSign для подписывания приложений под Windows. Нужно этим сертификатом подписать драйвер для Висты. Собственно проблема в том, что драйвер то вроде как подписан (т.е. в диалоге свойств файла драйвера таб о цифровой подписи присутствует и верификацию проходит), но при установке Виста ругается на него и говорит что драйвер вовсе не подписан. Если тем же сертификатом подписать cat-файл для этого драйвера и положить при установке в одну с ним директорию, то установка проходит гладко (виста говорит что подписано тем-то), но вот загружать драйвер отказывается.

Подписываю драйвер я собственно так:
Код:
signtool sign /v /ac C:\myCerts\name.cer /s my /n "CN Value" /t http://timestamp.verisign.com/scripts/timestamp.dll myDriver.sys

C:\myCerts\name.cer - я слил отсюда http://www.microsoft.com/whdc/winlogo/drvsign/crosscert.mspx#EWAAC, а CN Value это имя ассоциированное с сертификатом pfx импортированным в хранилище.

Подписываю я кстати утилитой signtool из WDK 6000, т.е. вроде как раз для висты. Вопрос в том почему виста не хочет понимать подпись бинарника, может дело в параметре /ac C:\myCerts\name.cer. Может там нужен какой-то особый сертификат...
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 09-10-2008 14:33 » 

так там же описание было?
http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/kmsigning.doc
там вроде подробно более менее... правда сам ни разу не подписывал, пока надобности не было.
в том числе и про установку крос-сертификата пару страниц есть. и про внедрение сертификата в тело драйвера.

инчего не помогает?
« Последнее редактирование: 09-10-2008 14:37 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
DeeoniS
Интересующийся

ru
Offline Offline

« Ответ #2 : 09-10-2008 17:36 » 

Ochkarik, ну вот се там прочитал, только про крос-сертификаты не прочитал Улыбаюсь Судя по всему у меня неправильная версия signtool.exe
Цитата
Important: The version of SignTool in the WDK or Windows Vista Platform SDK is the only one that currently supports adding cross-certificates to a digital signature. Previous versions of SignTool in the Windows Server 2003 Platform SDK or DDK do not support adding cross-certificates.

Сейчас скачаю SDK для висты и проверю, хотя как я говорил у меня вроде WDK для висты
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 09-10-2008 18:49 » 

я думал 6000 версия подходила...  типа NT6.0)))
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
DeeoniS
Интересующийся

ru
Offline Offline

« Ответ #4 : 09-10-2008 18:53 » 

ну я тоже думал что подходит, даже специфичные драйвера для висты в ней собирал, но все-таки надо проверить. Либо это, либо нужен еще какой-нибудь другой сертификат, отдельно для драйверов
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 09-10-2008 19:04 » 

так вроде пишут что для kernel как раз.
единственная разница - в 64битной без сертификата вообще драйвер не запустить.
да, а что за ошибку при загрузке возвращает?
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
DeeoniS
Интересующийся

ru
Offline Offline

« Ответ #6 : 09-10-2008 19:10 » 

В диспетчере устройств пишет что драйвер поврежден или отсутствует, насколько помню код ошибки 39. Но если запустить висту без проверки подписи, то драйвер грузиться и работает. Т.е. дело именно в том что подписан не так. Да и при попытки установки без подписанного cat файла тоже говорит что драйвер не имеет подписи

upd: еще пробовал подписанный драйвер под XP поставить, тоже говорит что подписи нет. Но подписывал без крос-сертификата, может по-этому
« Последнее редактирование: 09-10-2008 19:12 от DeeoniS » Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 09-10-2008 19:14 » 

угу.
http://support.microsoft.com/kb/310123/ru
Код 39
Windows не может загрузить драйвер устройства для данного оборудования. Документ может быть поврежден или отсутствует. (Код 39)
Рекомендуемое решение

Причины данной ошибки могут заключаться в отсутствующем драйвере, в поврежденном двоичном файле, в проблеме I/O файла или в драйвере, ссылающемся на точку входа в другой двоичный файл, который не может быть загружен.

может попробовать сертификат прямо в тело драйвера запихнуть? в статье это правда для boot-драйверов только необходимо...
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
DeeoniS
Интересующийся

ru
Offline Offline

« Ответ #8 : 10-10-2008 10:39 » 

Цитата
может попробовать сертификат прямо в тело драйвера запихнуть? в статье это правда для boot-драйверов только необходимо...
Ну вот я собственно это и делаю. Но вот мне тут люди сказали что надо получить еще WHQL сертификат. Чтобы это сделать надо пройти тесты в Windows Logo Program. Хотя в официальном документе (http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/kmsigning.doc) говориться следующее:
Цитата
Developers can sign the driver image file or driver catalog file with an SPC for testing before submitting to WHQL to verify that the driver loads and operates correctly.

Собственно, как я понимаю, и подписываю его с помощью SPC, но он не грузиться. И явно там не указанно, что надо загружать машину в тестовом режиме.

в общем докачаю wdk с signtool которое поддерживает крос-сертефикаты и попробую подписать. Но чувствую придется еще этот WHQL получать. Сплошная бюрократия Жаль
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 10-10-2008 11:54 » 

я поначалу удивился что есть возможность чужими подписывать... считал что майкрософт это себе оставило)
про WHQL говорят, что это обязательно для получения Windows Logo. в том документе табличка была.
а новый wdk - откуда? с connect-microsoft? я там так и не смог зарегистрироваться...

« Последнее редактирование: 10-10-2008 12:05 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
DeeoniS
Интересующийся

ru
Offline Offline

« Ответ #10 : 10-10-2008 12:06 » 

угу, с connect-microsoft. Зарегистрировался просто... сделал Live ID и дальше там начал регистрироваться. Только вот чтоб скачать надо ставить какой-то их даунлоадер, в общем через жопу все как-то
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines