Files
bentopdf/docs/uk/tools/validate-signature-pdf.md
T

9.6 KiB
Raw Blame History

title, description
title description
Перевірити підпис Перевіряйте цифрові підписи у файлах PDF. Дійсність сертифіката, особа підписанта, цілісність документа та стан ланцюжка довіри.

Перевірити підпис

Завантажте підписаний PDF, і інструмент витягне кожен цифровий підпис, визначить підписанта, перевірить дійсність сертифіката та покаже, чи змінювався документ після підписання. Також можна надати довірений сертифікат для перевірки ланцюжка підпису.

Як це працює

  1. Завантажте підписаний PDF-файл. Перевірка починається автоматично.
  2. Інструмент показує зведення: кількість знайдених підписів і скільки з них дійсні.
  3. Кожен підпис отримує детальну картку з іменем підписанта, видавцем, датами та статусом.
  4. За бажанням завантажте довірений сертифікат (.pem, .crt, .cer, .der), щоб перевірити підпис відносно конкретного центру довіри. Повторна перевірка запускається автоматично.

Що перевіряється

Розбір підпису

Інструмент витягує з PDF об'єкти підпису PKCS#7, декодує структуру ASN.1 і отримує сертифікат X.509 підписанта разом із ланцюжком сертифікатів, вбудованим у підпис.

Дійсність сертифіката

  • Термін дії: чи перебуває сертифікат зараз у межах строку дії?
  • Виявлення самопідписаних: чи є сертифікат власним видавцем?
  • Ланцюжок довіри: якщо надано довірений сертифікат, чи веде до нього ланцюжок сертифіката підписанта?

Криптографічна перевірка

  • Інструмент відтворює байти, які охоплює /ByteRange підпису, хешує їх алгоритмом, заявленим підписантом, і порівнює результат з атрибутом messageDigest усередині підпису.
  • Потім він повторно серіалізує підписані атрибути як DER SET і перевіряє підпис за відкритим ключем сертифіката підписанта.
  • Підпис вважається дійсним, лише якщо пройдено всі ці перевірки. Якщо байти PDF змінили після підписання або вбудований підпис не відповідає ключу підписанта, статус показує «Недійсний: криптографічну перевірку не пройдено» із конкретною причиною.

Підтримувані алгоритми підпису

Алгоритм Шлях перевірки
RSA (PKCS#1 v1.5) node-forge publicKey.verify, із запасним варіантом Web Crypto
RSA-PSS (RSASSA-PSS) Web Crypto verify({name: 'RSA-PSS', saltLength})
ECDSA P-256/P-384/P-521 Web Crypto verify({name: 'ECDSA', hash}) після перетворення підпису DER → IEEE P1363

Якщо підпис використовує алгоритм поза цим списком (наприклад Ed25519, SM2 або RSA з нетиповим OID дайджесту), картка показує жовтим «Не перевірено: непідтримуваний алгоритм підпису» разом із конкретним OID або причиною. Це свідомий поділ на три стани:

  • Дійсний: підпис криптографічно перевірено за відкритим ключем підписанта.
  • Недійсний: перевірку виконано, і результат негативний (байти змінено, ключ не збігається).
  • Неперевірений: інструмент не зміг виконати перевірку для цього алгоритму. Метадані сертифіката все одно показуються, але підпис слід вважати «невідомим» і перевірити його в Adobe Acrobat або через openssl cms -verify.

Небезпечні алгоритми дайджесту

  • Підписи з MD5 або SHA-1 відхиляються як недійсні й позначаються статусом «Небезпечний дайджест». Для обох алгоритмів опубліковано атаки на колізії, тож підпис поверх хешу SHA-1 чи MD5 не гарантує цілісності.
  • SHA-224, SHA-256, SHA-384 і SHA-512 приймаються.

Охоплення документа

  • Повне охоплення: підпис охоплює весь PDF-файл, тобто після підписання жодних байтів не додавали й не змінювали.
  • Часткове охоплення: підпис охоплює лише частину файлу. Це може означати, що після підписання вносилися зміни (не обов'язково зловмисні: інкрементальні збереження дають часткове охоплення).

Відомості про підпис

Кожна картка підпису показує:

  • Підписав: загальне ім'я, організацію та email із сертифіката підписанта
  • Емітент: центр сертифікації, що видав сертифікат підписанта
  • Дата підписання: позначку часу, вбудовану в підпис
  • Дійсний з / Дійсний до: період дії сертифіката
  • Причина: чому документ підписано (якщо вказано)
  • Розташування: де його підписано (якщо вказано)
  • Статус охоплення: повне чи часткове
  • Значок довіри: довірений чи поза ланцюжком довіри (лише коли надано власний сертифікат)

Технічні подробиці

Розгорніть розділ технічних подробиць, щоб побачити:

  • Серійний номер сертифіката підписанта
  • Алгоритм дайджесту (SHA-256, SHA-512 тощо)
  • Алгоритм підпису (RSA із SHA-256, ECDSA із SHA-256 тощо)
  • Повідомлення про помилки для недійсних підписів

Сценарії використання

  • Перевірка цифрово підписаного договору перед контрпідписанням
  • Аудит підписаних документів, щоб переконатися, що їх не змінювали
  • Перевірка, чи не закінчився термін дії сертифіката після підписання документа
  • Перевірка підписів за кореневим сертифікатом вашої організації
  • Огляд відомостей про підписання державних чи юридичних документів

Поради

  • Самопідписаний сертифікат не означає, що підпис недійсний: це означає, що особу підписанта не можна підтвердити через довірену третю сторону. Для внутрішніх документів це звична річ.
  • Часткове охоплення не завжди свідчить про втручання. Багато робочих процесів PDF додають інкрементальні оновлення (наприклад, другий підпис), які створюють часткове охоплення.
  • Завантажте кореневий або проміжний сертифікат вашої організації як довірений, щоб отримати перевірку ланцюжка довіри.

Пов'язані інструменти