Ошибка «the application does not have a valid signature» появляется при запуске программы, когда операционная система не может подтвердить подлинность её цифровой подписи — подпись отсутствует, повреждена, просрочена или выдана недоверенным сертификатом. Чаще всего с этим сообщением сталкиваются пользователи macOS при открытии приложений, скачанных не из App Store, но похожие предупреждения встречаются и в Windows при установке неподписанных инсталляторов.
Система блокирует запуск не из вредности: проверка подписи — это механизм защиты, который подтверждает, что файл создан заявленным разработчиком и не изменён после публикации. Однако ложные срабатывания случаются: подпись может «слететь» после обновления системы, при повреждённой загрузке или если разработчик не продлил сертификат. Разберём, как отличить безопасную ситуацию от реальной угрозы и что делать в каждом случае.
Что означает ошибка недействительной подписи
Цифровая подпись приложения — это криптографическая метка, привязанная к сертификату разработчика. Когда вы запускаете программу, система проверяет целостность этой метки. Если проверка не пройдена, выводится сообщение о недействительной подписи, и запуск блокируется или требует подтверждения.
Типичные причины, по которым подпись признаётся недействительной:
- 🔏 Просроченный сертификат — разработчик не продлил сертификат подписи кода, и система считает его недействительным.
- 📦 Повреждённая загрузка — файл скачался не полностью или был изменён при передаче, из-за чего хеш не совпадает с подписью.
- ✏️ Модификация приложения — программа была изменена после подписания (вручную, патчем или вредоносным ПО).
- 🚫 Отсутствие подписи — приложение вообще не подписано, что типично для любительских сборок и пиратских копий.
- 🔄 Конфликт после обновления ОС — система ужесточила требования к подписям, и старые приложения перестали проходить проверку.
Важно понимать: само по себе сообщение не означает, что программа вредоносная. Но оно означает, что система не может гарантировать, что файл именно тот, который выпустил разработчик.
Безопасно ли запускать такое приложение
Ответ зависит от источника файла. Если программа скачана с официального сайта известного разработчика, а подпись «слетела» из-за просроченного сертификата — риск минимален. Если же файл получен с торрент-трекера, файлообменника или по ссылке из письма — недействительная подпись может указывать на внедрённый вредоносный код.
⚠️ Внимание: никогда не обходите проверку подписи для приложений, полученных из непроверенных источников. Модифицированные установщики — один из самых распространённых способов распространения вредоносного ПО, а отсутствие валидной подписи как раз и есть признак модификации.
Перед любыми действиями выполните простую диагностику: сравните, откуда скачан файл, проверьте его антивирусом и попробуйте скачать установщик заново с официального сайта разработчика. Если после повторной загрузки подпись стала валидной — проблема была в повреждённом файле.
Диагностика: проверка подписи приложения
Прежде чем что-то исправлять, полезно убедиться, как система видит подпись файла. На macOS это делается через Терминал командой codesign:
codesign -dv --verbose=4 /Applications/ИмяПриложения.app
В выводе смотрите на строки Authority и TeamIdentifier: если они присутствуют и указывают на реального разработчика — подпись существует, но могла быть отозвана или просрочена. Если команда возвращает сообщение вида code object is not signed at all, приложение не подписано вовсе.
На Windows проверка проще: откройте свойства файла установщика и перейдите на вкладку «Цифровые подписи». Если вкладки нет — файл не подписан. Если подпись есть, дважды щёлкните по ней и посмотрите статус: система покажет, действительна ли подпись и кому выдан сертификат.
Способы решения проблемы
Начинайте с самых безопасных и обратимых действий, и только если они не помогли — переходите к обходу проверки подписи.
☑️ Порядок действий при ошибке подписи
Повторная загрузка. Повреждение при скачивании — самая частая и самая безобидная причина. Удалите текущий файл и скачайте его заново, желательно другим браузером или без менеджера загрузок.
Проверка даты и времени. Сертификаты имеют срок действия, и система сверяет его с локальными часами. Если дата на устройстве сбита (например, после разряда батареи), валидная подпись может определяться как просроченная. Включите автоматическую синхронизацию времени и попробуйте запустить программу снова.
Обновление системы. Корневые сертификаты удостоверяющих центров обновляются вместе с ОС. Если система давно не обновлялась, она может не знать новый сертификат разработчика и считать цепочку доверия недействительной.
Обход проверки подписи на macOS
Если вы уверены в источнике приложения, Gatekeeper в macOS позволяет сделать точечное исключение. Не отключайте защиту целиком — откройте конкретную программу: кликните по ней правой кнопкой, выберите Открыть и подтвердите запуск в диалоге. Либо после блокировки зайдите в Системные настройки → Конфиденциальность и безопасность — там появится кнопка, разрешающая запуск заблокированного приложения.
⚠️ Внимание: полное отключение Gatekeeper через
sudo spctl --master-disableснимает защиту для всех приложений сразу, а не только для нужного. Это существенно повышает риск заражения — используйте такой вариант только временно и возвращайте защиту командойsudo spctl --master-enable.
Иногда подпись становится недействительной из-за атрибута карантина, который система присваивает скачанным файлам. Его можно снять для конкретного приложения:
xattr -dr com.apple.quarantine /Applications/ИмяПриложения.app
Применяйте эту команду только к программам, в происхождении которых уверены: снятие карантина отключает проверку Gatekeeper для этого файла навсегда, и система больше не предупредит, если файл окажется модифицированным.
Почему подпись «сломалась» после обновления macOS
Apple периодически ужесточает требования к нотаризации и формату подписи. Приложения, подписанные старыми алгоритмами или не прошедшие нотаризацию, после обновления системы могут перестать запускаться. Решение — скачать актуальную версию программы с сайта разработчика: свежие сборки подписываются по новым правилам.
Что делать на Windows
В Windows аналогичную проверку выполняет SmartScreen и контроль цифровых подписей установщиков. Если система сообщает о недействительной подписи, порядок действий тот же: перекачайте файл, проверьте вкладку цифровых подписей, убедитесь в правильности даты и времени.
Для драйверов ситуация строже: Windows может отказаться устанавливать неподписанный драйвер, и обход этой проверки требует отключения проверки подписи драйверов через параметры загрузки. Это потенциально рискованная операция — неподписанный драйвер получает доступ к ядру системы. Прибегайте к ней только если драйвер получен напрямую от производителя устройства, и по возможности сверяйтесь с его официальной документацией.
| Причина ошибки | Как распознать | Решение |
|---|---|---|
| Повреждённая загрузка | После повторного скачивания ошибка исчезает | Скачать файл заново |
| Неверная дата на устройстве | Другие подписанные приложения тоже выдают ошибки | Включить автосинхронизацию времени |
| Просроченный сертификат | codesign показывает подпись, но система её отклоняет | Скачать свежую версию программы |
| Приложение не подписано | Нет вкладки подписей / «not signed at all» | Искать подписанную версию у разработчика |
| Файл модифицирован | Источник — сторонний сайт, хеш не совпадает | Удалить файл, не запускать |
Когда обращаться к разработчику
Если ошибка возникает с официально купленной программой и ни один из способов не помогает, проблема, скорее всего, на стороне разработчика: просроченный сертификат, ошибка при подписании сборки или устаревший установщик. В этом случае напишите в поддержку разработчика, указав версию программы, версию ОС и точный текст ошибки.
Для корпоративного ПО, распространяемого через внутренние сертификаты организации, обратитесь к системному администратору: возможно, на устройстве не установлен корневой сертификат компании, из-за чего цепочка доверия не строится.
Частые вопросы
Вирус ли это, если приложение не имеет действительной подписи?
Не обязательно. Ошибка означает лишь, что система не может подтвердить подлинность файла. Однако для программ из непроверенных источников отсутствие валидной подписи — тревожный признак: проверьте файл антивирусом перед любыми действиями.
Можно ли просто отключить проверку подписей навсегда?
Технически на macOS это возможно через spctl, но делать этого не стоит: вы отключите защиту для всех приложений сразу. Безопаснее разрешать запуск конкретных программ через настройки конфиденциальности и безопасности.
Почему вчера приложение запускалось, а сегодня выдаёт ошибку подписи?
Возможные причины: обновление операционной системы ужесточило требования, сбилась дата на устройстве, либо файл был изменён (обновлением, утилитой очистки или вредоносным ПО). Начните с проверки даты и повторной загрузки программы.
Поможет ли переустановка приложения?
Да, если причина в повреждённом файле или устаревшей версии. Удалите программу, скачайте свежий установщик с официального сайта и установите заново. Если подпись недействительна и в новой версии — проблема на стороне разработчика.
Что такое нотаризация и чем она отличается от подписи?
Подпись подтверждает авторство и целостность файла. Нотаризация на macOS — дополнительная проверка приложения на серверах Apple перед распространением. Система может требовать и то, и другое: подписанное, но не нотаризованное приложение тоже может блокироваться.