--- 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 перад падпісаннем