О подписывании кода

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

../Art/code_signing.png

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

Другие средства защиты OS X, такие как Тестовая среда приложения и родительский контроль, также зависят от подписывания кода.

В большинстве случаев можно полагаться на автоматическое подписывание кода XCode (описанный в Руководстве по Распределению приложений), который требует только, чтобы Вы указали идентификационные данные подписывания кода в настройках сборки для Вашего проекта. Этот документ для читателей, которые должны пойти вне автоматического подписывания кода — возможно, чтобы диагностировать необычную проблему или соединиться codesign(1) инструмент в систему сборки.

Сразу

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

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

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

Предпосылки

Считайте Обзор безопасности для понимания места подписывания кода в изображении безопасности OS X.

См. также

Для описаний инструментов командной строки для выполнения подписывания кода посмотрите codesign(1) и csreq(1) страницы справочника.