none
Цифровая подпись драйвера RRS feed

  • Вопрос

  • Доброго времени суток!

    Хотел узнать вот о чем, я работаю в небольшой фирме, которая занимается электроникой, разработан прибор, который подключается к ПК.

    Для связи с прибором используется стандартный драйвер WIndows usbser.sys, написан inf-файл для установки.

    Но во время установки драйвера система ругается, что драйвер не имеет цифровой подписи и не проверен на совместимость

    с данной ОС(XP, 7 - неважно).

    Вопрос: почему так происходит? Ведь используется стандартный драйвер Windows.

    Что сделать, чтобы этих сообщений больше не было? Добавить что-то в inf-файл?

    Еще вопрос, если нет другого выхода, то как получить цифровую подпись?

    Заранее спасибо!

    13 февраля 2012 г. 11:32

Ответы

  • Процедура несколько другая: производитель "сдает" свой драйвер на сертифицкацию в Микрософт и после его проверки и успешной сертифицкации получает подписанную копию. http://en.wikipedia.org/wiki/WHQL_Testing 

    Это процедура сертификации. Для подписывания драйвера ничего сдавать в "Майкрософт" не надо, достаточно купить сертификат подписи у одной из компаний, владеющих корневыми сертификатами. Несколько лет назад цена вопроса составляла от 125 до 400 долларов в год в зависимости от того, у кого подкупать подпись. С тех пор не интересовался.
    • Помечено в качестве ответа osr_MVP, Moderator 17 февраля 2012 г. 10:05
    16 февраля 2012 г. 17:19
    Модератор

Все ответы

  • Так как INF файлы могут очень многое (например созадавать/менять записи в реестре) то с точки зрения безопасности важно чтоб INF файл нельзя было подменить без нарушения цифровой подписи. Поэтому где то есть цифровая подпись INF файла (в файле драйвера или например в CAT файле). 

    Так как вы написали свой собственный INF то подпись больше не совпадает и драйвер в целом больше не подписан. Поэтому то ОС и ругается.

    Цифровую подпись которой ОС поверит "получить" разумеется невозможно, иначе кто угодно сможет распространять вирусы и трояны под видом подписанных драйверов.

    Процедура несколько другая: производитель "сдает" свой драйвер на сертифицкацию в Микрософт и после его проверки и успешной сертифицкации получает подписанную копию. http://en.wikipedia.org/wiki/WHQL_Testing 

    В данном случае ситуация интересная - ведь драйвер вам не принадлежит.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    13 февраля 2012 г. 17:58
    Модератор
  • То-то и оно, что же делать? Замкнутый круг?
    14 февраля 2012 г. 4:03
  • Процедура несколько другая: производитель "сдает" свой драйвер на сертифицкацию в Микрософт и после его проверки и успешной сертифицкации получает подписанную копию. http://en.wikipedia.org/wiki/WHQL_Testing 

    Это процедура сертификации. Для подписывания драйвера ничего сдавать в "Майкрософт" не надо, достаточно купить сертификат подписи у одной из компаний, владеющих корневыми сертификатами. Несколько лет назад цена вопроса составляла от 125 до 400 долларов в год в зависимости от того, у кого подкупать подпись. С тех пор не интересовался.
    • Помечено в качестве ответа osr_MVP, Moderator 17 февраля 2012 г. 10:05
    16 февраля 2012 г. 17:19
    Модератор
  • Это процедура сертификации. Для подписывания драйвера ничего сдавать в "Майкрософт" не надо, достаточно купить сертификат подписи у одной из компаний, владеющих корневыми сертификатами. Несколько лет назад цена вопроса составляла от 125 до 400 долларов в год в зависимости от того, у кого подкупать подпись. С тех пор не интересовался.
    В моем случае получается, что подписывать надо только inf-файл?
    17 февраля 2012 г. 4:17
  • Подскажите пожалуйста хоть одну компанию, поиск по строке "купить сертификат подписи" ничего путного не дал, только сертификаты ЭЦП для email.
    17 февраля 2012 г. 4:37
  • Вот, например, список: http://ssl.zt.ua/index.php?content=codesigning_appl&language=russian

    Как оно подписывается - не разбирался, я не программист.

    17 февраля 2012 г. 7:16
    Модератор
  • Спасибо!
    17 февраля 2012 г. 9:09
  • "Самоподпись" не устранит предупреждений на ХП.

    This posting is provided "AS IS" with no warranties, and confers no rights.

    17 февраля 2012 г. 16:45
    Модератор
  • речь не о самоподписи, а о полноценной подписи. Для самоподписи ничего покупать не надо.

    17 февраля 2012 г. 17:00
    Модератор
  • Под "самоподписью" я имею в виду подпись выполненую создателем драйвера (в том числе и с купленым сертификатом) -- в отличии от подписи в процессе прохождения WHQL сертификации.

    Вы видимо подумали о подписи с самостоятельно созданым сертификатом? Такое наверное тоже возможно, но так как такой сертификат не находится в одной из цепочек о которых знает ОС думаю что это совсем бесполезно. Впрочем так как это бысто и бесплатно то можно попробовать.

    Процесс описан тут: http://msdn.microsoft.com/en-us/library/windows/hardware/ff552279(v=vs.85).aspx


    This posting is provided "AS IS" with no warranties, and confers no rights.

    18 февраля 2012 г. 17:18
    Модератор
  • Вы видимо подумали о подписи с самостоятельно созданым сертификатом?

    Именно это обычно и называют самоподписью. И описанные Вами последствия характерны именно для такого случая. Подпись же, купленная, к примеру, у VeriSign, вполне полноценная, и хоть подписывает ею программы и драйверы непосредственно сам разработчик, но Windows такую подпись принимает на ура.
    19 февраля 2012 г. 20:44
    Модератор
  • Хочу поделиться некторыми результатами.

    Писал письма в Microsoft и GlobalSign. Такое ощущение, что у всех разрыв шаблона.

    Первые ответили что-то невнятное и отослали к сертификации драйверов, вторые вообще молчат.

    Ну нет у меня драйвера, есть inf-файл и стандартный драйвер Windows usbser.sys, что же мне теперь его посылать?

    Вобщем, тупик :(

    22 февраля 2012 г. 8:48
  •  А что спрашивали, как подписать или как купить сертифика для подписи?
    22 февраля 2012 г. 9:22
    Модератор
  • Привожу текст письма:

    "Dear Sir/Madam!

    I’m an engineer of a small company that designs and manufactures electronic devices. We are able to connect our devices to PC via USB.

    To set connection with PC we use usbser.sysdriver and created *.inffile to be installed.

    During installation procedure OS Windows (XP, 7, ...) generates notification that tells that the driver has no digital signature and it didn’t pass compatibility test.

    Why is this happening? Because we use a standard Windows driver.

    How can we get a digital signature for *.inf file?

    Best regards.

    "

    22 февраля 2012 г. 10:30
  • Тогда все верно, консультаций они давать не обязаны.
    22 февраля 2012 г. 11:07
    Модератор
  • Но я же прошу консультаций по их роду деятельности. Им деньги не нужны что-ли? Буржуи тем и отличаются, что все сделают, когда речь о деньгах заходит
    22 февраля 2012 г. 12:01