Про CODESIGNING сертификаты для разработчиков

Зачем нужно подписывать код?

Всем известно, что запуск программ от неизвестного пользователя опасен и чреват малоприятными последствиями для Вашего компьютера и соответственно для Вас. Поэтому конечным пользователям Операционная система или Браузер настоятельно рекомендуется не запускать и не загружать программы, которые не подписаны. При этом пользователь видит сообщение "Unknown Publisher" (Неизвестный издатель) и у него возникает сомнение и недоверие к данному программному обеспечению.

Неподписанный код также может быть изменен злоумышленниками после Вашего опубликования. в него могут быть внедрены вредоносный код и вирусы.

Сертификаты подписи кода Code Signing решают эту проблему, при этом проводится

1. Проверка подлинности. Удостоверяется автор программного обеспечения.

2. Проверка целостности. Проверка и гарантия того, что программное обеспечение не было изменено с момента его подписания.

3. Цифровая подпись контента.

4. Построение доверительных отношений с клиентами.

Сертификат подписи кода позволяет подписывать код, используя секретный и открытый ключ системы, похожий на метод, используемый SSL и SSH. При запросе сертификата образуется пара. Закрытый ключ остается на машине заявителя и никому не отправляется. Открытый ключ передается поставщику сертификата CodeSign с запросом на сертификат и сертификационный центр выдает сертификат.

Когда Вы подписываете данные вы включаете туда вашу цифровую  подпись.Сертификат содержит информацию, которая полностью идентифицирует лицо, и выдается центром сертификации (CA) после того как этот орган проверил личность владельца подписи кода.

Следует отметить что сертификационный центр не дает гарантии, что подписанная программа является сама по себе доверенной. Хакер может получить сертификат подписи кода и подписать свою программу, содержащую вирус. Но при єтом он будет нести юридическую ответственность, так как программа будет удостоверять что именно он является ее издателем. Сертификационные центры как правило выдают сертификат подписи кода при условии подтверждения заявителем обязательств про нераспостранение вредоносного обеспечения, за которое они несут ответственность самостоятельно.