Сертификаты подписи кода

Что такое сертификат подписи кода?


Сертификат подписи кода — это цифровой сертификат, содержащий информацию, полностью идентифицирующую издателя, и выпущенный центром сертификации, например центром сертификации GlobalSign. Цифровой сертификат связывает личность издателя (человека или компании) с открытым ключом, который математически связан с парным закрытым ключом. Система использования пар открытых и закрытых ключей называется инфраструктурой открытого ключа (Public Key Infrastructure — PKI). Разработчик подписывает код своим закрытым ключом, а конечный пользователь использует открытый ключ разработчика для подтверждения его подлинности.

Сертификат для подписи кода

Цифровой сертификат предназначен специально для подписи кода; в инфраструктуре PKI это называется «назначением ключа» (Key Usage). Ниже представлен пример цифрового сертификата GlobalSign, предназначенного для подписи кода.

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

Подпись кода подтверждает:

Источник содержимого:
Подпись кода помогает определить источник (разработчика или владельца подписи) программного обеспечения или приложения. При скачивании программного обеспечения из интернета в браузере, как правило, появляется сообщение о рисках, связанных со скачиванием данных, либо предупреждение «Неизвестный издатель».  Подпись кода помогает устранить предупреждения безопасности «Неизвестный издатель» и определить имя издателя (например наименование организации или имя индивидуального разработчика).

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