Перейти до вмісту

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

Завантажте підписаний 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-521Web 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 додають інкрементальні оновлення (наприклад, другий підпис), які створюють часткове охоплення.
  • Завантажте кореневий або проміжний сертифікат вашої організації як довірений, щоб отримати перевірку ланцюжка довіри.

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

Подвійне ліцензування: AGPL-3.0 і комерційна ліцензія.