Процесс подписи кода сертификатом Comodo Code Signing выглядит следующим образом (более детальное описание процесса приведено ниже):
- Издатель получает цифровой ID (идентификатор) для подписи кода от Comodo, в английском варианте его называют Code Signing Digital ID
- Издатель создает код программы
- Воспользовавшись утилитой SIGNCODE.EXE, издатель:
- генерирует хэш код (это можно сделать, например, с помощью алгоритма MD5 или SHA)
- шифрует хэш-код, используя свой приватный ключ
- создает комплект, содержащий код, зашифрованный хэш кода и сертификат издателя
- Далее комплект используется конечным пользователем
- Браузер Microsoft, который принадлежит конечному пользователю, проверяет цифровой ID издателя. Используя корневой открытый ключ Comodo (root Public Key), который уже встроен в поддерживающие Authenticode приложения, браузер пользователя проверяет подлинность сертификата подписи кода Comodo CodeSigning (который в свою очередь подписан корневым приватным ключом Comodo - root Private Key)
- С помощью публичного ключа издателя, включенного в цифровое ID издателя, браузер расшифровывает подписанный хэш-код
- Браузер пользователя применяет к коду тот же алгоритм хэширования, что и издатель, и генерирует новый хэш-код
- Браузер пользователя сравнивает оба хэш-кода. Если коды совпадают, браузер сообщает, что веб-контент прошел проверку Comodo, а у пользователя есть уверенность, что код был подписан действительным издателем с помощью его цифрового ID и что код не был модифицирован с момента подписи.
Весь процесс прозрачный и нисколько не сложный. Конечный пользователь лишь видит сообщение о том, что контент действительно имеет цифровую подпись издателя и был проверен Comodo.
Пошаговая инструкция подписи кода с Authenticode от Comodo
Ниже приведены инструкции по тому, как получить сертификат Microsoft Authenticode и цифровой ID для подписи кода от Comodo.
1. Убедитесь, что у Вас есть нужное ПО верных версий:
Для подписи кода с сертификатом
Code Signing Вам понадобится:
- Internet Explorer версии 4.0 или новее
- Комплект утилит Internet Client SDK
2. Закажите сертификат Comodo Code Signing
Для начала следует
заказать Comodo Code Signing на нашем сайте. После оформления заказа мы вышлем Вам ссылку на страницу Comodo, где следует ввести данные о Вашей компании и выбрать технические данные сертификата подписи кода.
Вместе с сертификатом Вы получите цифровое ID подписи кода для Authenticode от Comodo. В процессе введения данных на странице Comodo Ваш браузер создаст приватный ключ, который называется MyPrivateKey.pvk. Вам следует записать его на диск или другой хранитель, который лучше хранить в безопасном месте, например, в депозитном сейфе. Не забудьте сделать копию приватного ключа, так как впоследствии он будет необходим для подписи кода.
Копия этого ключа не отсылается Comodo, поэтому, если его потерять, то подписать код сертификатом уже не получится и нужно будет запрашивать его перевыпуск и проходить валидацию заново. В целях безопасности следует также сразу сообщить в службу поддержки Comodo в том случае, если Вы все же потеряли Ваш приватный ключ или если его украли.
3. Получите цифровой ID подписи кода
Приняв Вашу заявку, Comodo инициирует процедуру проверки Вашей личности. В случае с коммерческими организациями, Comodo будет довольно внимательно проверять информацию о них – юридическую регистрацию компании, физическое существование, по телефону подтверждать личность человека, указанного в качестве заказчика и его право осуществлять заказ от имени компании.
Весь процесс подтверждения личности и выдачи сертификата Comodo Code Signing и цифрового ID может занять от 2 до 5 дней. После успешного прохождения проверки, Comodo пришлет письмо с Вашим ПИН-кодом (персональным идентификационным номером). Чтобы получить Ваш цифровой ID, следуйте инструкциям в этом письме.
Скачайте файл с цифровым ID на компьютер (назвав его, например, MyCredentials.spc). Обратите внимание, что скачать цифровой ID нужно на тот же компьютер и в том же браузере, с которого подавалась заявка, так как в нем сохранился Ваш приватный ключ. В последствии с помощью этого ключа и цифрового ID Вы сможете подписывать файлы на других компьютерах.
4. Подготовьте файлы кода к подписи
Если в своем проекте Вы используете PE-файлы (к ним относятся форматы .exe, .ocx, .dll, или другие), никаких особых действий не требуется. Если же это CAB-файлы, добавьте следующую строку в DDF-файл перед созданием CAB-файла: Set ReservePerCabinetSize=6144
5. Произведите подпись кода с Authenticode
Теперь можно подписать файлы в форматах .cab, .exe, .dll или .ocx. Для подписи кода используйте утилиту SIGNCODE.EXE, входящую в состав комплекта ActiveX SDK. Также Вам будет необходим Ваш цифровой ID, который Вы сохранили после получения сертификата Code Signing (обычно это файл с называнием MyCredentials.spc) и диск с приватным ключом (файл с названием MyPrivateKey.pvk).
Кроме того, следует иметь наготове URL-адрес сервера отметок времени Comodo (Timestamping):
http://timestamp.comodoca.com/authenticode.
6. Протестируйте подпись кода
В комплекте Microsoft SDK есть утилита chktrust.exe, которую используют для проверки подписи кода перед выпуском программы или приложения «в свет». Чтобы проверить подписанный файл в формате .exe, .dll или .ocx, запустите следующую команду:
chktrust filename (в которой filename обозначает название файла). Чтобы проверить подписанный файл в формате .cab, запустите команду:
chktrust -c cabfilename.cab (где cabfilename – название .cab-файла).
Если подпись кода была сделана правильно, после этой команды Вы увидите цифровой сертификат. Поздравляем с успешной подписью файла! При загрузке этого файла с веб-сайта через браузер Internet Explorer, пользователь увидит этот же цифровой сертификат. Если после подписи кода файл был изменен третьим лицом, пользователь получит уведомление о потенциальной опасности и ему будет предложено отказаться от установки этого файла.
В заключение
Microsoft и Comodo проделывают большую работу, чтобы сделать Интернет более безопасным и надежным как для онлайн-покупателей, так и для онлайн-продавцов — центральная роль в этом отводится продвинутым алгоритмам шифрования и
SSL сертификатам. С Authenticode от Microsoft и цифровым ID для подписи кода от Comodo Code Signing Ваш программный продукт будет «за семью замками» и будет пользоваться доверием покупателей так, как если бы он лежал красиво запакованный на полке супермаркета.