Цифровая подпись на файле — это не просто значок «издатель проверен». За ней стоит сертификат, в котором зашифрованы данные о том, кто выпустил файл, когда и какой организацией подтверждена его подлинность. Проверить эти сведения можно прямо через свойства файла, без установки дополнительных программ. Ниже разобрано, как это сделать в Windows, что именно нужно смотреть в открывшемся окне и какие признаки указывают на то, что подписи доверять нельзя.
- Зачем проверять сертификат, а не только сам факт подписи
- Что такое сертификат подписи простыми словами
- Как открыть сведения о цифровой подписи в Windows
- Вкладка «Общие»: статус подписи
- Вкладка «Состав»: кто, кому и на какой срок
- Вкладка «Путь сертификации»: цепочка доверия
- Быстрая проверка нескольких файлов: командная строка и PowerShell
- Особенности российских квалифицированных подписей
- Типичные ошибки при проверке подписи
- Как интерпретировать результаты: сводная таблица
- Когда проверки через свойства недостаточно
- Практический порядок действий
- Частые вопросы
- Почему у скачанного файла подпись «действительна», а SmartScreen всё равно предупреждает?
- Можно ли подделать цифровую подпись?
- Что делать, если подпись сломалась после передачи файла по почте?
- Нужно ли вручную устанавливать сертификат из окна просмотра?
- Главное
Зачем проверять сертификат, а не только сам факт подписи
Само наличие вкладки с цифровой подписью ещё ничего не гарантирует. Подпись может быть просроченной, отозванной, выпущенной на имя компании, к которой файл отношения не имеет, или вообще подделанной вместе с системным временем. Поэтому правильная последовательность такая: сначала убедиться, что подпись целостна (файл не изменялся после подписания), затем проверить сам сертификат — издателя, срок действия, назначение и цепочку доверия.
Если пропустить второй шаг, можно столкнуться с типичной ошибкой: пользователь видит надпись «Подписано» и спокойно запускает файл, хотя сертификат давно истёк или был выдан сомнительному издателю. Операционная система при этом может показать предупреждение, но многие привыкли такие предупреждения игнорировать.
Что такое сертификат подписи простыми словами
Сертификат — это электронный документ, который связывает открытый ключ подписи с именем владельца. Выпускает его удостоверяющий центр (УЦ) — организация, которая подтверждает личность или юридический статус заявителя перед выдачей. В сертификате содержатся:
- Кому выдан — имя издателя программного обеспечения или организации-владельца;
- Кем выдан — название удостоверяющего центра;
- Срок действия — даты начала и окончания;
- Алгоритм подписи — например, SHA256RSA;
- Назначение ключа — разрешено ли этим ключом именно подписывать код;
- Отпечаток — уникальный «слепок» сертификата для сверки.
Доверие строится по цепочке: ваш компьютер доверяет корневым центрам сертификации, они подписали промежуточные центры, а те — сертификат конкретного разработчика. Если хоть одно звено цепочки нарушено, система помечает подпись как недоверенную.
Как открыть сведения о цифровой подписи в Windows
Стандартный путь подходит для исполняемых файлов (.exe, .dll, .msi), драйверов и скриптов с подписью:
- Найдите файл в проводнике и щёлкните по нему правой кнопкой мыши.
- Выберите пункт «Свойства».
- Перейдите на вкладку «Цифровые подписи». Если такой вкладки нет — файл не подписан вовсе.
- В списке подписей выберите нужную строку и нажмите «Сведения».
- В открывшемся окне посмотрите строку о состоянии подписи, затем нажмите «Просмотр сертификата».
Здесь открывается окно сертификата с тремя ключевыми вкладками: «Общие», «Состав» (или «Подробно») и «Путь сертификации». Именно их содержимое и есть ответ на вопрос, можно ли доверять этому файлу.
Вкладка «Общие»: статус подписи
Первое, что нужно прочитать, — формулировка состояния. Корректная подпись обычно описывается как действительная: «Эта цифровая подпись действительна», иногда с уточнением, что время подписания взято из метки времени. Тревожные варианты выглядят иначе:
- «Цифровая подпись недействительна» — файл был изменён после подписания либо подпись повреждена. Такой файл запускать не стоит.
- «Истёк срок действия сертификата» — подпись сделана после окончания срока сертификата. Это признак небрежности издателя или подделки.
- «Не удалось построить цепочку сертификатов до доверенного корневого центра» — система не нашла путь доверия. Причина бывает безобидной (устаревшие корневые сертификаты на компьютере), но требует проверки.
- «Сертификат отозван» — удостоверяющий центр аннулировал сертификат, например после компрометации ключа. Доверять такой подписи нельзя.
Отдельно обратите внимание на упоминание метки времени (timestamp). Добросовестные разработчики подписывают файлы с обращением к серверу меток времени: тогда подпись остаётся действительной даже после истечения срока самого сертификата. Если её нет, любая просрочка сразу делает подпись «недействительной» в глазах системы.
Вкладка «Состав»: кто, кому и на какой срок
Здесь сверяйте данные с тем, чего вы ожидаете от файла:
- «Кому выдан» / «Субъект» — должно совпадать с официальным названием компании-разработчика. Скачиваете архиватор известного вендора, а в поле указана незнакомая фирма из другой страны? Это повод остановиться.
- «Кем выдан» / «Издатель» — узнаваемое имя удостоверяющего центра. Для кодовых подписей это обычно международные центры, специализирующиеся на сертификатах подписи кода.
- «Действителен» с … по … — дата подписания файла должна попадать в этот интервал. Кодовые сертификаты часто выдаются на один–три года, поэтому короткий срок сам по себе не проблема.
- «Использование ключа» — должно допускать подписывание кода (Code Signing). Сертификат, предназначенный для шифрования почты или сайтов, в этой роли выглядит подозрительно.
- «Алгоритм подписи» и «Алгоритм хэша» — современные значения вроде sha256RSA и SHA256. Устаревший SHA1 сам по себе не доказательство подделки, но снижает уровень доверия к старым подписям.
Вкладка «Путь сертификации»: цепочка доверия
На этой вкладке видно дерево: корневой центр → промежуточный центр → сертификат владельца. Выберите каждый уровень и убедитесь, что напротив всех элементов написано «Этот сертификат действителен». Если верхний (корневой) элемент отсутствует в локальном хранилище доверенных центров, система покажет предупреждение — тогда имеет смысл обновить корневые сертификаты Windows через Центр обновления и проверить файл заново, прежде чем делать выводы.
Быстрая проверка нескольких файлов: командная строка и PowerShell
Когда нужно проверить не один файл, а папку загрузок или набор скачанных утилит, удобнее работать из консоли. В PowerShell достаточно одной команды:
Get-AuthenticodeSignature «C:\Downloads\program.exe» | Format-List
В выводе важны два поля: Status (Valid означает исправную подпись) и SignerCertificate, где видны субъект, издатель и срок действия сертификата. Возможные статусы включают NotSigned (подписи нет), HashMismatch (файл изменён), NotTrusted (нет цепочки доверия) и другие — каждый из них объясняет причину проблемы точнее, чем диалоговое окно свойств.
Для массовой проверки папки команду оборачивают в цикл, например так (условный пример):
Get-ChildItem «C:\Downloads\*.exe» | ForEach-Object { «{0} : {1}» -f $_.Name, (Get-AuthenticodeSignature $_.FullName).Status }
Такой подход экономит время и сразу показывает, какие файлы стоит изучить подробнее через свойства.
Особенности российских квалифицированных подписей
Если файл подписан квалифицированной электронной подписью по российскому законодательству (например, документ отчётности или архив с ЭЦП), стандартное окно свойств Windows может показать неполную картину: отечественные криптопровайдеры используют свои алгоритмы и хранилища сертификатов. В этом случае проверку выполняют специализированными средствами — криптопровайдером, установленным на компьютере, либо онлайн-сервисами проверки подписи на порталах государственных ведомств. Общий принцип тот же: смотрят статус подписи, владельца сертификата, срок действия и принадлежность сертификата аккредитованному удостоверяющему центру. Актуальный перечень аккредитованных УЦ следует уточнять на дату обращения — он периодически меняется.
Типичные ошибки при проверке подписи
- Останавливаться на факте наличия подписи. Сама вкладка «Цифровые подписи» ничего не подтверждает — важно состояние подписи и данные сертификата.
- Игнорировать предупреждение о недействительности. Файл с нарушенной подписью мог быть перехвачен и модифицирован при скачивании или пересылке.
- Сверять имя издателя «на глаз». Злоумышленники используют названия, похожие на известные бренды: лишний символ, другая юрисдикция, похожее написание. Сравнивайте с официальным названием компании на её сайте.
- Паниковать из-за отсутствия цепочки доверия без диагностики. Частая причина — давно не обновлялись корневые сертификаты системы. Сначала обновите их, потом делайте выводы.
- Считать отсутствие подписи признаком вируса. Много легального ПО, особенно open-source и внутренние корпоративные инструменты, распространяется без подписи. Отсутствие подписи — лишь повод искать файл через более надёжный источник, а не однозначный вердикт.
- Проверять подпись копии, а не оригинала. Если файл прошёл через архиватор, конвертер или облачный сервис, который его перекодировал, подпись может сломаться технически. Проверяйте файл в том виде, в каком он получен из первоисточника.
Как интерпретировать результаты: сводная таблица
| Наблюдение | Вероятное значение | Что делать |
|---|---|---|
| Подпись действительна, цепочка полная, имя издателя совпадает с ожидаемым | Файл не менялся после подписания, издатель подтверждён УЦ | Можно доверять в рамках обычной осторожности |
| Подпись недействительна (HashMismatch) | Файл изменён после подписания | Не запускать; скачать заново из первоисточника |
| Сертификат истёк, метки времени нет | Подпись сделана вне срока действия сертификата | Настороженность; поискать свежую версию у издателя |
| Нет пути до доверенного корня | Устаревшие корневые сертификаты либо сомнительный УЦ | Обновить систему, проверить повторно |
| Сертификат отозван | УЦ аннулировал сертификат | Не доверять файлу |
| Вкладки подписи нет вообще | Файл не подписан | Оценить надёжность источника другими способами |
Когда проверки через свойства недостаточно
Окно свойств отвечает на вопросы «цел ли файл» и «кто его подписал», но не заменяет полноценную оценку безопасности. Подписанный файл всё равно может выполнять нежелательные действия — подпись подтверждает авторство, а не добросовестность программы. Поэтому при повышенных требованиях (корпоративная среда, работа с финансовыми данными) добавьте к проверке сертификата:
- сверку контрольной суммы (хэша) файла со значением, опубликованным разработчиком;
- сканирование актуальным антивирусом с обновлёнными базами;
- загрузку только с официального сайта издателя или проверенного репозитория;
- для организаций — политики контроля приложений, которые учитывают подпись издателя автоматически.
Практический порядок действий
- Откройте свойства файла и вкладку «Цифровые подписи». Нет вкладки — файл не подписан, оценивайте источник отдельно.
- Прочитайте статус подписи: любые слова «недействительна», «отозван», «истёк» требуют разбирательства, а не молчаливого согласия.
- Откройте сертификат и сверьте субъекта с ожидаемым названием компании, издателя — с узнаваемым УЦ, а дату подписания — со сроком действия.
- Проверьте путь сертификации: все уровни должны быть действительны.
- При сомнениях выполните команду Get-AuthenticodeSignature в PowerShell и сравните результат.
- Если проблема в цепочке доверия — обновите корневые сертификаты и перепроверьте, прежде чем отказываться от файла.
- Помните: подпись подтверждает авторство и целостность, но не безопасность поведения программы.
Частые вопросы
Почему у скачанного файла подпись «действительна», а SmartScreen всё равно предупреждает?
SmartScreen опирается ещё и на репутацию: как часто этот файл встречался другим пользователям и насколько известен издатель. Легальная программа нового малоизвестного разработчика может иметь действительную подпись и при этом не набрать репутации. Предупреждение в этом случае — про неизвестность, а не про подделку.
Можно ли подделать цифровую подпись?
Переподписать файл чужим сертификатом без доступа к закрытому ключу нельзя — проверка целостности это выявит. Но злоумышленник может получить собственный легальный сертификат на подставную компанию и подписать вредоносный файл. Поэтому сверка имени издателя с ожидаемым — обязательный шаг, а не формальность.
Что делать, если подпись сломалась после передачи файла по почте?
Почтовые сервисы и некоторые прокси иногда изменяют вложения. Запросите у отправителя файл в архиве с сохранением байтов или через ссылку на первоисточник и проверьте заново. Если и там подпись недействительна — файл действительно изменён.
Нужно ли вручную устанавливать сертификат из окна просмотра?
Для разовой проверки — нет. Установка сертификата в доверенные вручную оправдана только в управляемых корпоративных сценариях и при понимании последствий: доверенный сертификат позволяет системе принимать подписанные им файлы без вопросов.
Главное
Проверка сертификата через свойства файла занимает меньше минуты и состоит из трёх взглядов: на статус подписи, на поля «кому выдан / кем выдан / срок действия» и на путь сертификации. Действительная подпись с совпадающим именем издателя и полной цепочкой доверия — хороший знак. Любое отклонение — повод скачать файл заново из первоисточника и перепроверить, а не запускать «на удачу». И помните, что подпись отвечает за авторство и неизменность файла, но не за безопасность его поведения: окончательная оценка программы всегда складывается из источника, репутации издателя и контекста использования.
