mirror of
https://github.com/alam00000/bentopdf.git
synced 2026-11-07 16:41:00 +01:00
100 lines
9.8 KiB
Markdown
100 lines
9.8 KiB
Markdown
---
|
||
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 перад падпісаннем
|