Сертификат для подписи драйвера, частное лицо.
От: okman Беларусь  
Дата: 31.07.12 20:43
Оценка: 258 (38)
Приветствую всех, кто заглянул.

В этой теме я бы хотел поделиться своим опытом приобретения цифрового сертификата.
Подобные темы уже поднимались:

http://rsdn.ru/forum/asm/3634499.aspx
Автор: Евгений Музыченко
Дата: 11.12.09

http://rsdn.ru/forum/shareware/4306500.aspx
Автор: x_art
Дата: 11.06.11

http://rsdn.ru/forum/asm/4343915.aspx
Автор: okman
Дата: 15.07.11

http://rsdn.ru/forum/shareware/4269597.aspx
Автор: De-Bugger
Дата: 13.05.11

http://rsdn.ru/forum/shareware/4517008.aspx
Автор: acDev
Дата: 29.11.11

http://rsdn.ru/forum/shareware/3477809.aspx
Автор: pfranz
Дата: 23.07.09


Поэтому буду рад, если приведенная информация для кого-то окажется полезной.

Итак, ...

Что нужно

А нужно немного — получить цифровой сертификат на частное лицо, и чтобы этим сертификатом
можно было подписывать не только exe и dll, но и драйверы на 64-битных Vista и выше.
Именно частное лицо. Не на контору, ни даже на ИП, а на самого обычного "Васю Пупкина".

Предыстория

До недавнего времени я уже был наслышан про то, что сертификаты продают далеко не каждому,
только на компанию, нужен DUNS-номер, офис, представительство в США и т.п., а простому
смертному, тем более из такой страны как Беларусь, вообще рассчитывать не на что.

Разведка

Разведку я начал со страницы, где Microsoft публикует кросс-сертификаты для подписи драйверов.
Как известно, каждому сертификату от вендора соответствует строго определенный кросс-сертификат
от Microsoft и они оба должны быть включены в подпись, чтобы драйвер мог запуститься на
нужных системах (имеется в виду, понятное дело, системы от 64-битной Vista и выше).
Вот эта страница: http://msdn.microsoft.com/en-us/library/windows/hardware/gg487315.aspx

Далее я провел небольшое онлайн-турне по сайтам компаний, приведенных на этой странице, кое-где
обращался в саппорт, задавал вопросы и т.д. В общем, у меня сформировалось ощущение, что "живы"
из них только VeriSign и GlobalSign, остальные то ли уже не занимаются выпуском Authenticode-
сертификатов, то ли действуют только в ограниченном географически регионе, то ли еще что-то.

Вариант с VeriSign сразу отпадает, так как их сертификаты для индивидуалов не позволяют подписывать
драйверы, а другие выдают лишь на контору. Остается GlobalSign. И хотя я не раз слышал про их
невнятный саппорт, и про всякие проблемы, и про отношение к странам третьего мира, решил рискнуть.

Как известно, GlobalSign продает Authenticode-сертификаты двух типов — на контору (Software Vendors &
Organizations, $229 в год) и на индивидуальных разработчиков (Individual Developers, $129 в год).
То, что сертификатами первого типа можно подписывать драйверы, мне было известно, но на счет второго
оставались сильные сомнения, тем более, что ни в FAQ, ни на форумах я подробного разъяснения не нашел.

Задал вопрос в техподдержку — сказали да, сертификаты для индивидуалов позволяют подписывать драйверы
на Vista-64. Но мне этого показалось мало. Я был в курсе, что GlobalSign есть главный корневой
сертификат, называется он GlobalSign Root CA (1998-2028), и для него Microsoft выпустила нужный
кросс, позволяющий использовать сертификаты, выданные GlobalSign Root CA для подписи драйверов.
Я задал еще один вопрос в техподдержку — можно ли при заказе сертификата для индивидуального
разработчика выбрать этот сертификат в качестве корневого. Мне ответили — да, с этим нет проблем.
На этом разведку можно было считать завершенной.

Подготовка

Для оформления заказа на GlobalSign понадобится:

1. Пластиковая карта типа Visa или Mastercard со счетом в долларах или евро. Я сделал себе самую
обычную дебетовую карту Visa Classic в самом обычном банке. Разумеется, не все пластиковые карты
позволяют рассчитываться в интернете. Например, Visa Electron в общем случае для этого не предназначена.

2. Скан паспорта (последняя страница) в электронном виде.

3. Скан последнего счета за телефон, тоже в электронном виде. В моем случае оказалось достаточным
просто сбегать в банк, положить несколько тысяч на свой мобильник и сделать скан полученного чека.

4. Заявление на получение сертификата, скан. Шаблон качать здесь:
https://www.globalsign.com/resources/code-signing-for-individuals-registration-form.pdf
Обращаю внимание — имя, фамилию и прочие данные нужно указывать точь-в-точь как на странице заказа
(будет описано ниже) и в паспортных данных. Например, мое имя по-английски правильно было бы писать
как Oleg, однако по паспорту я Aleh — так везде и указывал. Вся информация указывается латиницей,
телефон можно указать в международном формате. Поле "Certificate OrderID" (номер заказа) заполняется
только после процедуры онлайн-покупки — тогда этот самый OrderID и будет присвоен. "Applicant's
Signature" — это поле для подписи от руки. То есть, заполняем форму, распечатываем, берем ручку,
ставим подпись и делаем скан. Все введенные поля лучше хорошенько перепроверить.

Покупка

Идем на www.globalsign.com. Лучше все операции выполнять из-под браузера FireFox, в других были
замечены глюки разной степени странности. Этой же рекомендации советуют следовать и на GlobalSign.

Идем в Products/Code Signing, жмем "Buy Now" напротив "Individual Developers". Сохраняем "campaign code",
показанный на первой странице — это нужно для правильного формирования цены, без использования
данного кода вам будет выставлен счет на неправильную сумму. Вот как комментирует этот момент
один из работников техподдержки GlobalSign:
"We are running a promotion in code signing for individuals to make the price $129
Please go to http://www.globalsign.eu/code-signing/code-signing-for-individual-developers.html
And use this discount code
USD – CAD1TH4EL3PKMHDF
GBP – CAPKG9H8X7A5ZBC1
EUR – CALSFB0E1WRWTPD4".

На странице "Account Setup" внимательно и аккуратно заполняем все нужные поля формы. В "Organization Name"
вписываем свое полное имя, как в паспорте. Например, Ivanov Ivan. Указываем свой E-mail, а также логин и
пароль для доступа к будущему аккаунту на сайте GlobalSign.

На странице "Product Details" вписываем "campaign code" в соответствующее поле и жмем "Redeem Code" —
будет выставлена правильная цена.

На странице "Certificate Identity Details" ставим галочку в "Individuals" и задаем так называемый
пикап-пароль (pickup password). Этот пароль вам понадобится позже, когда вы будете забирать сертификат.

Дальше следует "Payment Details" — то есть, собственно, оплата. Указываем все реквизиты, точь-в-точь
как на пластиковой карте, в том числе и поля "Statement" — вся нужная информация находится на самой
карте, если кто не в курсе.

Если все пройдет успешно, а иначе и быть не может, данному заказу будет присвоен определенный OrderID.
Соответствующее электронное письмо придет на почту. Этот OrderID следует вписать в заявление на
получение сертификата (см. выше) и все это, вместе со сканами паспорта и счета за телефон, отправить на
электронный адрес vetting-us@globalsign.com. Если верить инструкциям, наличие данных документов
существенно ускоряет процесс.

Кроме OrderID, для вас в системе GlobalSign будет создан аккаунт с именем вида PARxxxxxx_yyyyyyyyyy,
где xxxxxx — некое число, а yyyyyyyyyy — логин, который вы указывали при заказе сертификата.
Например, PAR123456_sashka1980. С этими данными можно будет заходить в систему и управлять своими
заказами.

Ожидание

Следует учесть, что офис GlobalSign находится в таком часовом поясе, что ответа на письмо, отправленное
утром, можно ожидать не раньше вечера. За все время, которое я занимался сертификатом, со мной, помимо
техподдержки, контактировало два человека — первый интересовался, почему я не завершил один из заказов
(я тогда забыл про campaign code и недоумевал, почему цена на странице заказа указана $229, хотя на
главной "обещали" $129), второй непосредственно обрабатывал сам заказ. Оба были предельно корректными,
охотно давали разъяснения и направляли мои действия в нужное русло. Я ожидал, что мне, возможно, позвонят
по телефону для проверки и был в ужасе, потому что разговорный английский у меня просто жуткий. Но не
позвонили. В итоге уже через сутки мне пришло электронное письмо с приятным названием: "Certificate
Download Ready".

Получение сертификата

ВНИМАНИЕ!
Получение сертификата — разовая процедура, ее следует проводить осторожно, чтобы не "профукать"
сертификат каким-нибудь нечаянным действием, после чего, вероятно, предстоят определенные разбирательства с
техподдержкой. Суть в том, что public- и private-ключи генерируются однократно и только в тот момент,
когда вы желаете забрать сертификат. После этого страница уничтожается, так что никто, кроме вас, не
сможет получить ключи. И я настойчиво рекомендую использовать только FireFox.

Итак, в электронном письме вам пришлют ссылку на временную страницу, где будут сгенерированы ключи и
откуда вы сможете импортировать их в браузер. Там ничего сложного, просто нужно будет нажать на пару
больших кнопок. Здесь понадобится пикап-пароль, созданный при заказе сертификата (см. выше). Перед тем,
как забрать сертификат с этой страницы, зайдите в настройки FireFox, на вкладку "Защита", и включите
мастер-пароль. Без этого шага сертификат будет экспортироваться из браузера без приватного ключа, что в
контексте рассматриваемого вопроса бессмысленно. Вот и все. После процедуры импорта сертификата в браузер
можно зайти в настройки FireFox, на вкладку "Дополнительно", открыть список сертификатов, найти среди
них свой и выполнить его экспорт в файл. Я, к примеру, получил файл с расширением .p12.

Свойства

Данный сертификат от GlobalSign, как я и ожидал, обладает всеми необходимыми и привлекательными свойствами.
Во-первых, его "узнают" все без исключения "голые" системы от XP до Windows 8 Release Preview; не требуется
задействовать ни интернет, ни службы обновления сертификатов. Во-вторых, подпись драйвера тоже проходит на
отлично, как и проверка утилитой signtool (signtool.exe verify /kp), надо только не забыть про кросс-
сертификат. Я уже опробовал данный серт на разных 64-битных системах от Vista и выше — там с запуском
драйвера все в полном порядке. В-третьих, в корне цепочки доверия тот самый GlobalSign Root CA, валидный
до 2028 года. Именно тот, который я хотел.

Вот и все, собственно.
Благодарю за внимание !
сертификат подпись драйвер GlobalSign
Re: Сертификат для подписи драйвера, частное лицо.
От: KaktusAgava  
Дата: 01.08.12 01:10
Оценка:
Здравствуйте, okman, Вы писали:

O>Приветствую всех, кто заглянул.


O>В этой теме я бы хотел поделиться своим опытом приобретения цифрового сертификата.

O>Подобные темы уже поднимались:

А не подскажете, если требуется подписывать только .exe и .dll, то какой сертификат лучше выбрать?
Re[2]: Сертификат для подписи драйвера, частное лицо.
От: Kubyshev Andrey  
Дата: 01.08.12 01:16
Оценка:
KA>А не подскажете, если требуется подписывать только .exe и .dll, то какой сертификат лучше выбрать?

Я хочу купить в ГоДедди.
Сейчас от комодо но он меня не устраивает.
Re: Сертификат для подписи драйвера, частное лицо.
От: edton  
Дата: 01.08.12 03:14
Оценка:
Здравствуйте, okman, Вы писали:

Спасибо, очень познавательно.

O>До недавнего времени я уже был наслышан про то, что сертификаты продают далеко не каждому,

O>только на компанию, нужен DUNS-номер, офис, представительство в США и т.п., а простому
O>смертному, тем более из такой страны как Беларусь, вообще рассчитывать не на что.

А вот интересно, можно получит где-то сертификат на имя ООО "Рога и Копыта" и что для этого нужно
Re: Сертификат для подписи драйвера, частное лицо.
От: altarvic  
Дата: 01.08.12 04:34
Оценка:
У меня другой вопрос к знатокам — я частное лицо, но хочу сертификат на свое бизнес имя.
Т.е. вместо Васи Пупкина будет название сайта SuperCDEjector.com
Такое возможно без оформления ИП, ООО и пр. ?
Re[2]: Сертификат для подписи драйвера, частное лицо.
От: okman Беларусь  
Дата: 01.08.12 05:40
Оценка:
Здравствуйте, KaktusAgava, Вы писали:

KA>А не подскажете, если требуется подписывать только .exe и .dll, то какой сертификат лучше выбрать?


VeriSign, Thawte, COMODO... Да и GlobalSign подойдет — он же относительно недорогой.

Но тут вот какая штука — нужно каким-то образом убедиться, что корневые сертификаты конторы, у
которой Вы собираетесь оформить заказ, будут "узнаваться" на всех целевых системах без всяких
интернетов и апдейтов. Потому что иначе пользователю будет выдано предупреждение о
недоверенном издателе. Как это проверить — трудно сказать. Лично я делал так — нашел
exe-шник, подписанный сертификатом от GlobalSign, а затем смотрел свойства его цифровой
подписи на своих виртуалках с разными версиями Windows. Но может быть, проще всего написать в
саппорт и пораспрашивать, что да как.
Re[2]: Сертификат для подписи драйвера, частное лицо.
От: okman Беларусь  
Дата: 01.08.12 13:17
Оценка:
Здравствуйте, edton, Вы писали:

E>А вот интересно, можно получит где-то сертификат на имя ООО "Рога и Копыта" и что для этого нужно


Вряд ли это возможно.
Нет, ну конечно, наверняка можно как-то извратиться, подделать документы, зарегистрировать
подставную компанию-пустышку и т.п. Но зачем ? И если узнают, сертификат отзовут, да
еще другие неприятности могут быть, вплоть до судебного разбирательства.
Re[2]: Сертификат для подписи драйвера, частное лицо.
От: okman Беларусь  
Дата: 01.08.12 13:23
Оценка:
Здравствуйте, altarvic, Вы писали:

A>У меня другой вопрос к знатокам — я частное лицо, но хочу сертификат на свое бизнес имя.

A>Т.е. вместо Васи Пупкина будет название сайта SuperCDEjector.com
A>Такое возможно без оформления ИП, ООО и пр. ?

Это нужно уточнять у компаний, которые продают сертификаты. Но вообще сомнительно.
Re: Сертификат для подписи драйвера, частное лицо.
От: x64 Россия http://x64blog.name
Дата: 01.08.12 15:22
Оценка:
O>Вот и все, собственно.

Мне больше интересно, что за драйвер и в составе какого продукта ты собрался распространять? Если это не секрет, конечно.
JID: x64j@jabber.ru
Re[3]: Сертификат для подписи драйвера, частное лицо.
От: edton  
Дата: 01.08.12 15:35
Оценка:
Здравствуйте, okman, Вы писали:

O>Здравствуйте, edton, Вы писали:


E>>А вот интересно, можно получит где-то сертификат на имя ООО "Рога и Копыта" и что для этого нужно


O>Вряд ли это возможно.

O>Нет, ну конечно, наверняка можно как-то извратиться, подделать документы, зарегистрировать
O>подставную компанию-пустышку и т.п. Но зачем ? И если узнают, сертификат отзовут, да
O>еще другие неприятности могут быть, вплоть до судебного разбирательства.

Хм, получается что частному лицу с паспортом и счетом за телефон доверяют больше чем ООО с переведенным уставом, где прописаны например, продажа и ремонт компьютеров, написание и распространение софта и тд. Как-то по поему это противоречит задачам, которые решает сертификаты (безопасность)
Re[4]: Сертификат для подписи драйвера, частное лицо.
От: edton  
Дата: 01.08.12 15:39
Оценка:
И еще: действительно все требуют DUNS-номер, офис, представительство в США и т.п?
Re[2]: Сертификат для подписи драйвера, частное лицо.
От: о_О http://files.rsdn.org/89703/4205292.gif
Дата: 01.08.12 15:39
Оценка: :))
Здравствуйте, x64, Вы писали:

x64>Мне больше интересно, что за драйвер и в составе какого продукта ты собрался распространять? Если это не секрет, конечно.

налоговыми декларациями тоже поделиться? название, принцип работы, исходный код? свести с заказчиками и теми кто покупает?
Re[4]: Сертификат для подписи драйвера, частное лицо.
От: veroni  
Дата: 01.08.12 16:26
Оценка:
Здравствуйте, edton, Вы писали:



E>Хм, получается что частному лицу с паспортом и счетом за телефон доверяют больше чем ООО с переведенным уставом, где прописаны например, продажа и ремонт компьютеров, написание и распространение софта и тд. Как-то по поему это противоречит задачам, которые решает сертификаты (безопасность)


А что устав? ООО изначально придуманы для прикрытия задницы директоров, и доверять их липовым бумагам, сочиненным крючкотворами, нет никаких оснований. А вот физлицо по телефону найти и прижучить просто.
Re[5]: Сертификат для подписи драйвера, частное лицо.
От: edton  
Дата: 01.08.12 16:35
Оценка:
Здравствуйте, veroni, Вы писали:

E>>Хм, получается что частному лицу с паспортом и счетом за телефон доверяют больше чем ООО с переведенным уставом, где прописаны например, продажа и ремонт компьютеров, написание и распространение софта и тд. Как-то по поему это противоречит задачам, которые решает сертификаты (безопасность)


V>А что устав? ООО изначально придуманы для прикрытия задницы директоров, и доверять их липовым бумагам, сочиненным крючкотворами, нет никаких оснований. А вот физлицо по телефону найти и прижучить просто.


Ну это мы с вами знаем как это у нас Но если взять забугорные ООО — Ltd, GmbH. К ним то же нет доверия?
Re[3]: Сертификат для подписи драйвера, частное лицо.
От: alex95  
Дата: 01.08.12 18:06
Оценка:
KA>Сейчас от комодо но он меня не устраивает.

А чем не устраивает ? У меня уже вон сколько лет, и ничего пока не замечал...
Re[2]: Сертификат для подписи драйвера, частное лицо.
От: okman Беларусь  
Дата: 01.08.12 19:20
Оценка:
Здравствуйте, x64, Вы писали:

x64>Мне больше интересно, что за драйвер и в составе какого продукта ты собрался распространять? Если это не секрет, конечно.


Не секрет. Программа — это развитие темы родительского контроля. Основная задача — защита детей от
вредной информации в интернете, от чрезмерного увлечения играми, сидения в социальных сетях и чатах.
Главные "фишки": высокая [ почти тотальная ] степень контроля над компьютером ребенка, наличие
средств, позволяющих распознавать опасность на ранних стадиях (например, анализ переписки в чате),
различные образовательные и поощрительные акции для ребенка (конкретно сказать не могу, это в самом деле
коммерческая тайна), ну и основное — удаленное управление функциями программы через веб-панель.
В этой системе задействовано несколько драйверов, в числе которых TDI-фильтр (ну куда же я без него),
драйвер контроля за процессами, фильтрующий драйвер класса клавиатуры и кое-что еще.

Но для этого продукта контора, на которую я работаю, уже приобрела сертификат от VeriSign и
релизные версии программы будут подписываться только им.

А я приобрел сертификат для личных нужд, просто для того, чтобы иметь возможность запускать
самописные драйвера на своих рабочих машинах, не прибегая к F8/DebugMode.
У меня поднакопилось несколько "примочек", работающих в kernel mode, и руки давно чесались
подписать их нормально и расстаться с извращениями. Достало уже, честно говоря.
Хотя вот тут я был несколько иного мнения — http://rsdn.ru/forum/asm/4226004.aspx
Автор: okman
Дата: 08.04.11

Возможно, одна из этих примочек со временем вырастет в полноценный коммерческий проект.
Еще бывает ситуация, когда нужно быстро сделать и продемонстрировать заказчику некий прототип,
при этом не утруждая его объяснениями, что и где настроить, чтобы запустить 64-битную систему в
тестовом режиме загрузки. Да и "Verified Publisher" тоже немного согревает душу.
Re[4]: Сертификат для подписи драйвера, частное лицо.
От: okman Беларусь  
Дата: 01.08.12 19:25
Оценка:
Здравствуйте, edton, Вы писали:

E>Хм, получается что частному лицу с паспортом и счетом за телефон доверяют больше чем ООО с переведенным уставом, где прописаны например, продажа и ремонт компьютеров, написание и распространение софта и тд. Как-то по поему это противоречит задачам, которые решает сертификаты (безопасность)


Погодите. "Рога и Копыта" — это ведь речь шла про липовую контору, существующую только на бумаге ?
Если так, то я не вижу никаких противоречий.
Re[3]: Сертификат для подписи драйвера, частное лицо.
От: x64 Россия http://x64blog.name
Дата: 01.08.12 19:26
Оценка:
O>Программа — это развитие темы родительского контроля.

А ссылка на продукт есть? Можно на почту.
Кстати, стукни мне в жаббер, давно хотел пообщаться.
JID: x64j@jabber.ru
Re[5]: Сертификат для подписи драйвера, частное лицо.
От: okman Беларусь  
Дата: 01.08.12 19:28
Оценка:
Здравствуйте, edton, Вы писали:

E>И еще: действительно все требуют DUNS-номер, офис, представительство в США и т.п?


Это одна из "страшилок", которую я слышал от человека, занимавшегося приобретением
сертификата от VeriSign пару лет назад. Вполне возможно, что сейчас ситуация поменялась.
Наличие DUNS-номера необязательно, но оно, по рассказам "очевидцев", существенно ускоряет
всю процедуру.
Re[3]: Сертификат для подписи драйвера, частное лицо.
От: szimin  
Дата: 01.08.12 20:13
Оценка:
O>Не секрет. Программа — это развитие темы родительского контроля. Основная задача — защита детей от

конкурент однако

O> (например, анализ переписки в чате),


это что-то уже из области искусственного интеллекта
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.