Как проверить подлинность цифровой подписи PDF-файлов перед открытием

Если вам прислали договор, акт, счет или другой PDF с подписью, не торопитесь сразу читать его как обычный файл. Цифровая подпись в PDF нужна не для красоты: она должна подтвердить, кто подписал документ, что файл не меняли после подписания и что сертификат подписанта был действителен на момент подписи.

Есть один нюанс: полностью проверить подпись без открытия файла нельзя. Но под проверкой «перед открытием» я понимаю безопасный порядок: сначала открыть PDF только в режиме проверки, не запускать ссылки, не включать редактирование, не доверять содержимому, пока подпись не прошла проверку.

Что именно проверяет цифровая подпись в PDF

Нормальная проверка подписи отвечает на несколько практических вопросов:

  • есть ли в PDF настоящая криптографическая подпись, а не просто картинка с факсимиле;
  • совпадает ли владелец сертификата с ожидаемым отправителем или организацией;
  • не менялся ли документ после подписания;
  • действителен ли сертификат и не отозван ли он;
  • есть ли штамп времени, который подтверждает момент подписи;
  • проверены ли все подписи, если их несколько.

Картинка подписи в документе ничего не доказывает. Ее можно вставить в PDF как обычный рисунок. Доверять можно только той подписи, которую программа видит в панели подписей и может проверить по сертификату.

Безопасный порядок проверки PDF перед доверием к содержимому

  1. Сохраните файл на компьютер. Не открывайте PDF прямо из письма или из подозрительной ссылки. Лучше сохранить его в отдельную папку, например «На проверку».
  2. Сверьте отправителя и файл. Проверьте адрес почты, домен, имя файла и то, ожидали ли вы такой документ. Поддельный отправитель или странный домен — уже повод остановиться.
  3. Если есть хеш-сумма — проверьте ее. Если контрагент прислал SHA-256, сравните его с хешем скачанного файла. Совпадение говорит, что файл не изменился при пересылке.
  4. Откройте PDF в надежном просмотрщике с проверкой подписей. Подойдут Adobe Acrobat Reader, Foxit Reader, PDF-XChange Editor или корпоративный просмотрщик, который использует ваша организация.
  5. Не нажимайте ссылки, кнопки и формы внутри документа. До проверки подписи файл для вас — объект проверки, а не рабочий документ.
  6. Откройте панель подписей. В Adobe Acrobat Reader это обычно панель «Подписи» слева. Смотрите не на рисунок подписи, а на запись в списке подписей.
  7. Проверьте статус каждой подписи. Если подписей несколько, проверяют каждую. Одна недействительная подпись у нужного подписанта — причина не доверять документу.
  8. Посмотрите свойства сертификата. Проверьте владельца, организацию, срок действия, удостоверяющий центр, статус отзыва и штамп времени.
  9. Только после этого открывайте документ для работы. Если подпись действительна, сертификат соответствует ожидаемому лицу, файл не менялся и есть понятный источник документа — риски намного ниже.

Если вы не можете проверить подпись или программа показывает предупреждения, не пытайтесь «просто открыть и посмотреть». В таком случае лучше запросить файл заново или получить его через надежный канал.

Как проверить хеш файла, если его прислали отдельно

Хеш-сумма полезна, когда отправитель заранее сообщил контрольное значение. Например, в письме может быть написано: «SHA-256: 9f2c…». Тогда вы считаете хеш скачанного PDF и сравниваете строку символ в символ.

На Windows можно использовать встроенную команду:

certutil -hashfile "document.pdf" SHA256

Или через PowerShell:

Get-FileHash ".\document.pdf" -Algorithm SHA256

На macOS:

shasum -a 256 document.pdf

На Linux:

sha256sum document.pdf

Если хеш не совпал, файл отличается от того, который подписал или отправил контрагент. Такой PDF лучше не использовать без повторной отправки.

Как читать статус подписи в PDF-программе

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

Распространенные статусы цифровой подписи в PDF
Что показывает программа Что это может значить Что делать
Все подписи действительны Документ не менялся после подписания, сертификат проверен, статус отзыва получен, подпись криптографически подтверждена. Можно переходить к проверке личности подписанта и содержания документа.
Подпись действительна, но есть предупреждения Частая причина — нет штампа времени, не найден центр отзыва, сертификат просрочен или не настроено доверие к центру сертификации. Не игнорировать. Для обычного файла можно уточнить у отправителя, для договора или акта — запросить корректную версию.
Достоверность подписи неизвестна Программа не знает, доверять ли сертификату. Это может быть корпоративный сертификат без установленного корневого сертификата или внешний неизвестный центр. Проверить владельца сертификата, источник файла и при необходимости обратиться в ИТ-отдел или к отправителю.
Подпись недействительна Файл меняли после подписания, сертификат недействителен, подпись повреждена или нарушена структура PDF. Не доверять документу. Запросить оригинал заново.
Документ изменен после подписания В PDF могли изменить поля, добавить страницу, вложение или комментарий. Иногда изменения разрешены настройками подписи, но это должно быть явно отражено в статусе. Открыть свойства подписи и проверить, какие изменения разрешены. Если сомневаетесь — просить новую подпись.

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

Что смотреть в свойствах сертификата

Когда вы открываете свойства подписи, не ограничивайтесь первой строкой. Посмотрите детали сертификата. Обычно нужны такие пункты:

  • Владелец сертификата. ФИО, организация, должность или иное название. Оно должно совпадать с тем, кто должен был подписать документ.
  • Организация. Если договор от ООО, а сертификат выдан на другое юрлицо или физическое лицо без понятных полномочий, это повод уточнить детали.
  • Удостоверяющий центр. Проверьте, кто выдал сертификат. Для значимых документов лучше, чтобы центр был понятным и доверенным.
  • Срок действия. Сертификат должен быть действителен на момент подписания. Если он уже истек, нужен надежный штамп времени.
  • Статус отзыва. Программа должна проверить, не отозван ли сертификат. Если проверка статуса невозможна, статус подписи может быть неполным.
  • Штамп времени. Особенно важен для старых документов. Он помогает подтвердить, что подпись была сделана тогда, когда сертификат еще действовал.
  • Назначение сертификата. Сертификат должен подходить для цифровой подписи, а не только для шифрования или другой задачи.

Если сертификат выдан на одного человека, а документ подписан от имени организации, сверяйте это с договором, доверенностью или правилами вашей компании. Техническая проверка не заменяет проверку полномочий.

Какой способ проверки выбрать

Выбор способа проверки в зависимости от ситуации
Ситуация Что делать Когда не подходит
Обычный договор или акт от контрагента Сохранить PDF, открыть в Adobe Acrobat Reader или другом надежном просмотрщике, проверить панель подписей, сертификат и статус изменений. Не подходит, если программа показывает недействительную подпись или сертификат неизвестного источника.
Счет или платежный документ по почте Сначала проверить отправителя, домен, подпись и реквизиты. Не переходить по ссылкам из PDF до проверки. Нельзя доверять только тому, что файл называется «счет.pdf» или содержит логотип компании.
Документ из системы электронного документооборота Проверять не только PDF, но и карточку документа в системе ЭДО, отчет проверки подписи и статус документа. Не стоит скачивать PDF из ЭДО и считать его отдельным источником истины без проверки в системе.
Старый PDF за прошлый период Особое внимание штампу времени, сроку сертификата и данным отзыва на момент подписания. Если нет штампа времени, а сертификат уже истек, статус подписи может быть неполным.
Корпоративный документ внутри компании Использовать корпоративный просмотрщик и доверенные сертификаты, установленные ИТ-отделом. Не стоит вручную добавлять корневые сертификаты в доверенные без понимания, что вы делаете.
Файл от неизвестного отправителя Лучше не открывать даже для проверки. Запросить файл через подтвержденный канал связи. Онлайн-проверки и случайные сервисы для таких файлов использовать рискованно.

Какие программы использовать для проверки

Для большинства задач достаточно бесплатного Adobe Acrobat Reader. Покупать расширенную версию только ради проверки подписи обычно не нужно. Главное — использовать актуальную программу, а не старый просмотрщик, который может некорректно показывать статус подписи.

Практическое сравнение вариантов
Вариант Плюсы Ограничения
Adobe Acrobat Reader Распространенный бесплатный вариант, хорошо показывает панель подписей, свойства сертификата и предупреждения. Для неизвестных корпоративных сертификатов может потребоваться настройка доверия.
Foxit Reader Удобная альтернатива, поддерживает проверку подписей и просмотр сертификатов. Формулировки статусов могут отличаться от Adobe, но смысл тот же.
PDF-XChange Editor Подходит для детального просмотра PDF и проверки подписей. Часть функций платная, но для базовой проверки обычно хватает бесплатных возможностей.
Просмотр в браузере или почтовом клиенте Быстро и удобно для простого чтения. Не лучший вариант для проверки подписи: можно не увидеть все детали сертификата и предупреждения.
Онлайн-сервисы проверки Могут быть удобны для публичных или несекретных файлов. Не загружайте туда договоры, персональные данные, налоговые и финансовые документы.

Частые ошибки при проверке подписи PDF

Большинство проблем возникает не из-за самой подписи, а из-за того, что человек смотрит не туда.

  • Доверять картинке подписи. Факсимиле, скан подписи или логотип в PDF легко подделать. Проверять нужно запись в панели подписей.
  • Открывать файл из письма как обычный документ. Браузер или почтовый клиент может показать содержимое, но не дать полноценной проверки сертификата.
  • Игнорировать предупреждения программы. Надписи вроде «signature validity unknown» или «document has been altered» нельзя закрывать без разбора.
  • Считать неизвестный сертификат автоматически плохим. Иногда это нормальная ситуация для корпоративной инфраструктуры. Но доверять такому сертификату можно только после настройки доверия.
  • Проверять только последнюю подпись. Если в документе несколько подписей, каждая из них должна быть проверена отдельно.
  • Использовать скриншот или пересохраненный PDF. После экспорта, печати в PDF или скриншота цифровая подпись обычно теряется или перестает иметь смысл.
  • Не проверять полномочия подписанта. Подпись может быть технически действительной,
Оцените статью
PEFile — Безопасность и технологии простым языком