Подпись объектного кода сертификатом от StartSSL. По шагам — заплатил, получил, подписал / Хабр

Adobe air signing

Для подписи файлов .air

Требуется для всех приложений, основанных на AIR

Android


Для подписи и оптимизации .apk файлов для платформы Android

Code signing for apple

Позволяет разработчикам подписывать программы для Mac OS, а также обновления для программного обеспечения

Java code signing

Для подписи Java апплетов. Позволяет подписывать .jar файлы и Java приложения для настольных и мобильных устройств.


Распознается Java Runtime Environment (JRE)

Kernel mode signing

Сертификаты разработчика Kernel-Mode позволяют подписывать, так называемые kernel-mode приложения и драйвера устройств. 64 битная версия Windows Vista и Windows 7 требуют, чтобы все kernel-mode приложения были подписаны сертификатом и доверенного центра сертификации.

Microsoft authenticode

Для подписи 32 и 64 битных файлов (.exe, .cab, .dll, .ocx, .msi, .xpi и .xap файлы). Также позволяет подписывать код для Microsoft® Office, Microsoft VBA, Netscape Object Signing и Marimba Channel Signing.

Поддерживает приложения на Silverlight 4

Microsoft office vba signing


Подписывает VBA объекты, скрипты и макросы для файлов Microsoft Office .doc, .xls, и.ppt

Для Microsoft Office и дополнений, которые используют VBA

Microsoft windows phone

Для цифровой подписи приложений для Windows Phone и Xbox 360. Требуется для сервиса Microsoft App Hub

Qualcomm brew


Для тех, кто разрабатывает приложения под платформу BREW (Binary Runtime Environment for Wireless)

Signtool. подпись файлов сертификатом |

Первым делом стоит определиться зачем кому-то может понадобиться подписывать какие-то файлы сертификатом. В общем смысле, в целях безопасности. Если же привести конкретные примеры, то например для подписания своего драйвера, ведь не подписанные драйвера блокируются в  x64 системах начиная с Windows 7. Или же для того что бы добавить файл по сертификату в Whitelist антивируса, что бы не было ложных срабатываний.
Далее давайте детально разберем алгоритм подписания файлов.

  1.  Для получения signtool.exe качаем Windows Software Development Kit (SDK) и производим нехитрую установку:
  2. После установки находим утилиту по пути C:Program Files (x86)Microsoft SDKsWindowsv7.1ABin
  3. На сервере экспортируем сертификат через менеджер сертификатов. Используем любой пароль, например, 12345
    Так же экспорт можно выполнить средствами PowerShell:
  4. Копируем сертификат и подписываемый файл в папку с утилитой signtool.exe
  5. Используя ранее заданный сертификату пароль, подписываем сертификат командой:
  6. Забираем подписанный сертификатом файл по пути C:Users%username%AppDataLocalVirtualStoreProgram Files (x86)Microsoft SDKsWindowsv7.1ABin

Startssl

Подпись объектного кода сертификатом от StartSSL. По шагам — заплатил, получил, подписал / ХабрШаг первый

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

Зачем нужна цифровая подпись

Цифровая подпись предназначена для того, чтобы указать автора программы и показать, что данная программа или файл не был изменен другими лицами. Если кто-то попробует модифицировать подписанную программу, то цифровая подпись сразу становится недействительной. Это главное предназначение цифровой подписи.

Второе преимущество подписанных программ и инсталляций состоит в том, что антивирусные программы более лояльно относятся к подписанным приложениям. Ложные срабатывания и необоснованные попадания в карантин у подписанных программ встречаются реже.


Также сравните сообщения, которые показывает UAC при запуске подписанной и неподписанной инсталляции. Сообщение для подписанной инсталляции вызывает больше доверия у пользователя.

Как подписывать инсталляции в инсталляторе createinstall

Конечно, можно самостоятельно подписывать инсталляции созданные CreateInstall, но лучше автоматизировать этот процесс. К тому же, наш инсталлятор позволяет подписывать uninstall.exe и update.exe, которые будут потом распакованы при установке вашей программы на компьютер пользователя.

Рассмотрим следующее решение с использованием утилиты kSignCMD.exe, которая входит в программу kSign. Создайте .bat файл примерно следующего содержания и сохраните его в секретном месте. Самое главное, чтобы он был доступен в момент сборки вашего дистрибутива. [pfxfile] замените на полный путь к вашему .pfx файлу, а [password] замените на ваш пароль.

Команда pause нужна, чтобы вы могли вовремя обнаружить ошибку, которая может возникнуть при попытке подписать приложение. С другой стороны, из-за этой команды вам придется нажимать на какую-нибудь клавишу для продолжения процесса создания дистрибутива.

"C:Program Files (x86)kSignkSignCMD.exe" /f  "[pfxfile]" /p [password] %1 %2 %3 %4 %5
pause

Сейчас откройте ваш проект в CreateInstall и перейдите к закладке Проект – страница Setup Builder. В поле Application for Code Signing укажите полный путь к созданному нами .bat файлу. Он будет запускаться когда потребуется подписать приложение.

Далее укажите параметры для подписывания дистрибутива, деинсталлятора и программы проверки обновлений. Первым параметром должно быть определено общее наименование программы, а вторым , который будет автоматически заменен на полный путь к подписываемому приложению. Например, значения могут быть следующими:

Parameters for Signing of Installation File: Setup "<exefilename>"
Parameters for Signing of Uninstaller File: Uninstall "<exefilename>"
Parameters for Signing of Updater File: Update "<exefilename>"

В данном случае, CreateInstall вызовет наш .bat файл для подписывания установки, деинсталлятора и программы обновления, если вы включаете ее в свой проект.

Как получить цифровую подпись

Цифровую подпись можно купить у специальных организаций. Например, Comodo, Verisign (Symantec). Сертификат можно приобрести как на один год, так и на несколько лет. Цены начинаются от $100-150 за один год, но через партнеров можно купить сертификат дешевле.

Например, KSoftware, являсь стратегическим партнером Comodo, продают сертификаты за $95 в год и есть скидки при его покупке на несколько лет. После того как вы произвели оплату, сотрудники соответствующей организации удостоверятся, что вы являетесь именно тем лицом или организацией на чье имя выдается цифровая подпись.

Когда все данные проверены, вам будет дана ссылка, по которой вы загрузите сертификат в Internet Explorer и затем вам нужно сохранить его в виде файла с расширением .pfx, также у вас должен быть пароль, который вы указывали при формировании заявки на сертификат.

Какие бывают виды code signing сертификатов, и чем отличаются?

Прежде всего рассмотрим сертификаты, по центрам сертификации, которые их выпускают.

Лучше всего различия между сертификатами от разных центров сертификации показывает сводная табличка.В колонках указаны названия центров сертификации, а в в строках тип сертификата или технология/платформа для которой он используется.

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

Несколько слов про timestamp.

Timestamp или временная метка используется для указания времени, когда цифровая подпись была сделана. Если такая метка присутствует, то приложение, которое проверяет подпись проверит был ли сертификат, связанный с подписью валидным на момент подписи.

Пример:Сертификат действителен с: 01.01. 2008Сертификат действителен до: 31.12.2021Подпись сделана: 04.07.2009Подпись проверена: 30.04.2021

C временной меткой (timestamp) подпись пройдет проверку, поскольку на момент подписи сертификат был действителен. Без такой метки сертификат не пройдет проверку, поскольку на момент проверки у сертификата уже закончился срок.То есть такая метка позволяет использовать подписанный код, даже после срок окончания сертификата.

Несколько советов.

  1. Заявку на сертификат желательно оформлять с той же машины, с которой вы потом будете выполнять подпись ПО.
  2. Большинство центров сертификации рекомендуют генерировать заявку на сертификат через Internet explorer, хотя при генерации заявок через другие браузеры у нас также не было проблем.
Про сертификаты:  Решение Коллегии Евразийской экономической комиссии от 25 сентября 2018 г. № 154 "Об удостоверяющем центре службы доверенной третьей стороны интегрированной информационной системы Евразийского экономического союза"

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

UPD: добавил важную информацию про timestamp (временную метку), спасибо TolTol и crea7or

Процесс подписи кода.

Подпись объектного кода сертификатом от StartSSL. По шагам — заплатил, получил, подписал / Хабр

  1. Издатель (разработчик) запрашивает Code Signing сертификат у центра сертификации
  2. Используя SIGNCODE.EXE или другую утилиту для подписи кода издатель, cоздает хеш кода, используя алгоритмы MD5 или SHA
  3. Кодирует хеш, с помощью приватного ключа
  4. Создает пакет, который включает в себя: код, зашифрованный хеш и сертификат издателя

Процесс проверки подписанного кода.

Подпись объектного кода сертификатом от StartSSL. По шагам — заплатил, получил, подписал / Хабр

  1. Пользователь скачивает или устанавливает подписанное ПО и платформа или система пользователя проверяет сертификат издателя, который подписан корневым приватным ключем центра сертификации
  2. Система запускает код, используя тот же самый алгоритм создания хеша, как издатель и создает новый хеш
  3. Используя публичный ключ издателя, который содержится в сертификате, система расшифровывает зашифрованный хеш
  4. И сравнивает между собой 2 хеша

Статья – приобретение цифрового сертификата для подписи драйвера (частное лицо)

Примечание редактора

: начиная с Windows 10, вступают в силу новые виды сертификатов:

Extended Validation

Детальнее можно ознакомится в этой теме:

Для подписания драйверов в Windows 10 Microsoft требует EV сертификат

________________________________________________________________________

Автор: Казакевич Олег.

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

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

http://rsdn.ru/forum/asm/3634499.aspx
http://rsdn.ru/forum/shareware/4306500.aspx
http://rsdn.ru/forum/asm/4343915.aspx
http://rsdn.ru/forum/shareware/4269597.aspx
http://rsdn.ru/forum/shareware/4517008.aspx
http://rsdn.ru/forum/shareware/3477809.aspx

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

Итак, …

Что нужно

А нужно немного — получить цифровой сертификат на частное лицо, и чтобы этим сертификатом
можно было подписывать не только 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” — вся нужная информация находится на самой карте, если кто не в курсе.

Про сертификаты:  Эмаль на ржавчину Dufa Premium Hammerlack 3-в-1 - Магазин Краски ПРО

Если все пройдет успешно, а иначе и быть не может, данному заказу будет присвоен определенный OrderID.
Соответствующее электронное письмо придет на почту. Этот OrderID следует вписать в заявление на получение сертификата (см. выше) и все это, вместе со сканами паспорта и счета за телефон, отправить на электронный адрес [email protected]. Если верить инструкциям, наличие данных документов существенно ускоряет процесс.

Кроме 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 года. Именно тот, который я хотел.

Вот и все, собственно.
Благодарю за внимание !

§

Примечание редактора

: начиная с Windows 10, вступают в силу новые виды сертификатов:

Extended Validation

Детальнее можно ознакомится в этой теме:

Для подписания драйверов в Windows 10 Microsoft требует EV сертификат

________________________________________________________________________

Автор: Казакевич Олег.

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

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

http://rsdn.ru/forum/asm/3634499.aspx
http://rsdn.ru/forum/shareware/4306500.aspx
http://rsdn.ru/forum/asm/4343915.aspx
http://rsdn.ru/forum/shareware/4269597.aspx
http://rsdn.ru/forum/shareware/4517008.aspx
http://rsdn.ru/forum/shareware/3477809.aspx

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

Итак, …

Что нужно

А нужно немного — получить цифровой сертификат на частное лицо, и чтобы этим сертификатом
можно было подписывать не только 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. Скан последнего счета за телефон, тоже в электронном виде. В моем случае оказалось достаточным просто сбегать в банк, положить несколько тысяч на свой мобильник и сделать скан полученного чека.

Про сертификаты:  Сертификат происхождения формы EAV для Вьетнама -

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 следует вписать в заявление на получение сертификата (см. выше) и все это, вместе со сканами паспорта и счета за телефон, отправить на электронный адрес [email protected]. Если верить инструкциям, наличие данных документов существенно ускоряет процесс.

Кроме 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 года. Именно тот, который я хотел.

Вот и все, собственно.
Благодарю за внимание !

Центр сертификации

Когда разработчик запрашивает цифровой сертификат — центр сертификации идентифицирует его и выпускает сертификат, связанный с корневым сертификатом центра сертификации. Платформы и устройства содержат в себе корневой сертификат соответствующего центра сертификации.

В случае если хеши не совпадают вы получите ошибку при запуске такого ПО — это может означать, что ПО было модифицировано вирусом или злоумышленником.

Когда ПО расшифровывает цифровую подпись, оно проверяет также корневой сертификат в системе, источник проверенной информации. В случае использования самоподписного сертификата, вы получите ошибку: «издатель не может быть проверен». Поэтому важно использовать сертификаты того центра сертификации, чьи корневые сертификаты уже установлены в системе у предполагаемого пользователя программы.

О самом процессе верификации организации рассказывать не буду, так как он такой же как и для SSL сертификатов с валидацией организации, о чем мы уже говорили в прошлой статье.

Шаг 2: создание сертификата

Откройте командную строку (cmd) от имени администратора и поочерёдно введите следующие команды:

  1. Выполните C:wacswacs.exe.
  2. Далее выберите:
  3. Укажите ваше доменное имя и два раза нажмите Enter для подтверждения.
  4. Затем последовательно выберите:
  5. Укажите папку для сохранения сертификатов C:wacscrt.
  6. После этого выберите:
  7. Укажите адрес электронной почты для уведомлений об ошибках.
  8. На дополнительные вопросы отвечайте следующим образом:

Подведем итог

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

Оцените статью
Мой сертификат
Добавить комментарий