
Процесс подписи кода приложений в macOS
Все приложения в App Store подписаны Apple. Подписание помогает убедиться, что приложения не были подделаны или изменены. Apple также подписывает все приложения, поставляемые с устройствами Apple.
Чтобы пройти проверку Gatekeeper с настройками по умолчанию в macOS 10.15, все приложения, распространяемые не через App Store, должны быть подписаны разработчиком с помощью выпущенного компанией Apple сертификата идентификатора разработчика (и личного ключа) и заверены компанией Apple. Корпоративные приложения также должны быть подписаны выпущенным компанией Apple идентификатором разработчика, чтобы пользователи могли подтвердить целостность приложений.
В macOS подпись кода и заверение не связаны друг с другом. Они могут быть выполнены разными лицами для разных целей. Разработчик подписывает код с помощью своего сертификата, привязанного к уникальному идентификатору (сертификат выпускается компанией Apple). Благодаря проверке подписи пользователь может убедиться, что программное обеспечение разработчика не было изменено с тех пор, как разработчик выпустил и подписал его. Заверение может быть выполнено любым участником цепочки распространения программного обеспечения. Оно доказывает, что Apple получила копию кода для проверки на наличие вредоносного ПО и что известное вредоносное ПО обнаружено не было. Результатом заверения является билет, который хранится на серверах Apple и может быть при желании прикреплен к приложению (кем угодно), что не приведет к аннулированию подписи разработчика.
В соответствии с обязательными средствами контроля доступа (MAC) для получения прав, защищаемых системой, требуется подпись кода. Например, если приложению требуется доступ через брандмауэр, его код должен быть подписан с помощью соответствующего права MAC.