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

100 lines
9.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Праверыць подпіс PDF
description: Правярайце лічбавыя подпісы ў PDF-файлах. Праверка сапраўднасці сертыфіката, асобы падпісанта, цэласнасці дакумента і ланцужка даверу.
---
# Праверыць подпіс 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-файл, гэта значыць пасля падпісання ніводзін байт не быў дададзены або зменены.
- **Частковы ахоп**: подпіс ахоплівае толькі частку файла. Гэта можа азначаць, што пасля падпісання былі ўнесены змены (не абавязкова зламысныя: інкрэментальныя захаванні даюць частковы ахоп).
## Падрабязнасці подпісу
Кожная картка подпісу паказвае:
- **Падпісаў**: агульнае імя, арганізацыя і электронная пошта з сертыфіката падпісанта
- **Выдавец**: цэнтр сертыфікацыі, які выдаў сертыфікат падпісанта
- **Дата подпісу**: часавая пазнака, убудаваная ў подпіс
- **Сапраўдны з / Сапраўдны да**: тэрмін дзеяння сертыфіката
- **Прычына**: чаму дакумент быў падпісаны (калі пазначана)
- **Месца**: дзе ён быў падпісаны (калі пазначана)
- **Статус ахопу**: поўны або частковы
- **Значок даверу**: давераны або не ў ланцужку даверу (толькі калі дададзены ўласны сертыфікат)
### Тэхнічныя падрабязнасці
Разгарніце раздзел тэхнічных падрабязнасцей, каб убачыць:
- Серыйны нумар сертыфіката падпісанта
- Алгарытм дайджэста (SHA-256, SHA-512 і г. д.)
- Алгарытм подпісу (RSA з SHA-256, ECDSA з SHA-256 і г. д.)
- Паведамленні пра памылкі для несапраўдных подпісаў
## Сцэнарыі выкарыстання
- Праверка лічбава падпісанага дагавора перад сустрэчным падпісаннем
- Аўдыт падпісаных дакументаў, каб пераканацца, што іх не падрабілі
- Праверка, ці не скончыўся тэрмін дзеяння сертыфіката пасля падпісання дакумента
- Праверка подпісаў адносна каранёвага сертыфіката вашай арганізацыі
- Прагляд падрабязнасцей подпісу дзяржаўных або юрыдычных дакументаў
## Парады
- Самападпісаны сертыфікат не азначае, што подпіс несапраўдны: гэта значыць, што асобу падпісанта нельга пацвердзіць праз давераны трэці бок. Для ўнутраных дакументаў гэта звычайная справа.
- Частковы ахоп не заўсёды сведчыць пра падробку. Многія працэсы працы з PDF дадаюць інкрэментальныя абнаўленні (напрыклад, другі подпіс), якія ствараюць частковы ахоп.
- Загрузіце каранёвы або прамежкавы сертыфікат вашай арганізацыі як давераны, каб праверыць ланцужок даверу.
## Звязаныя інструменты
- [Лічбавы подпіс PDF](./digital-sign-pdf): падпісвайце PDF уласным сертыфікатам
- [Звесці PDF](./flatten-pdf): звядзіце PDF перад падпісаннем, каб прадухіліць змены пасля подпісу
- [Выдаліць метаданыя](./remove-metadata): ачысціце PDF перад падпісаннем