Базовые профили PAdES
Spec: ETSI EN 319 142-1 ETSI EN 319 142-1 Spec: ISO 32000-2, §12.8 ISO 32000-2 §12.8 Spec: RFC 3161 RFC 3161 Evidence: Standard-backed
PAdES определяет четыре базовых уровня — B-B, B-T, B-LT, B-LTA — которые надстраиваются друг над другом. Каждый добавляет один конкретный вид доказательства. Эта страница объясняет эту последовательность и помогает выбрать минимальный уровень, который всё ещё отвечает требованию, а не самый высокий из тех, чьё название вам знакомо.
Почему это важно
Заголовок раздела «Почему это важно»Люди выбирают “B-LTA”, потому что он звучит как самый основательный, или “B-B”, потому что он требует меньше всего работы. И то и другое — догадки. Нужный уровень определяет вопрос, а не предпочтение: как долго эта подпись должна оставаться проверяемой и кем? Выберите слишком низкий уровень — и подпись, которая была действительна в день подписания, станет непроверяемой после истечения срока действия сертификата. Выберите слишком высокий уровень — и возьмёте на себя ненужные вам удостоверяющий центр меток времени и инфраструктуру материалов проверки, а также обязательство по архивированию, которое придётся постоянно поддерживать. Команда, которая не может изменить уровень позднее, платит за неверный выбор.
Коротко
Заголовок раздела «Коротко»- Четыре уровня кумулятивны. Каждый — это предыдущий плюс одно дополнение.
- B-B — подпись с обязательными подписанными атрибутами. Доказывает кто и что.
- B-T — B-B плюс доверенная метка времени на подписи. Доказывает когда, независимо от часов подписанта.
- B-LT — B-T плюс встроенные материалы проверки (сертификаты и данные об отзыве). Документ сам содержит доказательство того, что сертификат был действителен в момент подписания.
- B-LTA — B-LT плюс метка времени документа, которую со временем проставляют повторно. Сохраняет всё это проверяемым на протяжении десятилетий и при смене алгоритмов.
- Выбирайте уровень по сроку жизни обязательства, а не по тому, что выглядит самым безопасным.
Как к этому подходит NextPDF
Заголовок раздела «Как к этому подходит NextPDF»NextPDF моделирует уровень как явный упорядоченный выбор и не делает вид, что всё получилось. Вы запрашиваете уровень. Движок создаёт именно этот уровень или завершается ошибкой с понятным указанием, что нужно сделать. Он не подписывает молча на более низком уровне, позволяя записи о соответствии заявлять более высокий. Эта конструкция нужна именно для того, чтобы предотвратить молчаливое понижение запроса B-LTA до B-T, когда нужной инфраструктуры нет. Требования каждого уровня закодированы как предикаты: требуется ли метка времени, требуются ли встроенные материалы проверки, требуется ли метка времени документа. Движок проходит по этим предикатам и либо удовлетворяет их, либо останавливается.
Описанная ниже последовательность совпадает с той, которую обеспечивает движок и определяет стандарт.
| Уровень | Что добавляет по сравнению с предыдущим уровнем | На какой вопрос отвечает | Что требуется от вашего развёртывания |
|---|---|---|---|
| B-B | Подписанные атрибуты: content-type, message-digest, signing-time, signing-certificate-v2 | Кто подписал и какие именно байты? | Ключ подписания и сертификат |
| B-T | Доверенная метка времени над значением подписи | Когда это подписали, с доказательством? | Удостоверяющий центр меток времени (TSA) |
| B-LT | Встроенные сертификаты + данные об отзыве (DSS) | Был ли сертификат действителен в момент подписания, и можно ли доказать это позднее? | TSA + доступ к данным об отзыве в момент подписания |
| B-LTA | Метка времени документа, обновляемая со временем | Будет ли это проверяемо спустя десятилетия? | TSA + процесс архивирования с повторным проставлением меток времени |
Самый важный переход — от B-T к B-LT. B-T доказывает когда. B-LT делает документ самодостаточным в части доверия: он перестаёт зависеть от того, останется ли удостоверяющий центр доступным и сможет ли отвечать на запросы спустя годы.
- Step 1 of 4: ISO 32000-2 §12.8 — signatures, LTV, document timestamp
- Step 2 of 4: ETSI EN 319 142-1 PAdES baseline levels B-B…B-LTA
- Step 3 of 4: RFC 3161 Timestamp token (introduced at B-T)
- Step 4 of 4: RFC 6960 OCSP revocation evidence (embedded at B-LT)
Что говорят доказательства
Заголовок раздела «Что говорят доказательства» Evidence: Standard-backed Уровни определяет
ETSI. Spec: ETSI EN 319 142-1 ETSI EN 319 142-1 определяет базовые уровни PAdES
; Spec: ETSI EN 319 142-2, §5.3 ETSI EN 319 142-2 §5.3 указывает
атрибут signature-time-stamp как необязательный элемент, наличие которого
и отделяет уровень с меткой времени от B-B, а
Spec: ETSI EN 319 142-2, §6.3.2.2 ETSI EN 319 142-2 §6.3.2.2 утверждает, что доверенная
метка времени должна проставляться сразу после создания подписи, чтобы
зафиксированное время было как можно ближе к реальному времени подписания.
Spec: ETSI EN 319 142-2, §5.5 ETSI EN 319 142-2 §5.5 говорит, что долгосрочное
поведение требует как хранилища безопасности документа (Document Security Store), так и меток времени документа —
дополнения B-LT и B-LTA.
Со стороны контейнера это Spec: ISO 32000-2, §12.8.3.3 ISO 32000-2 §12.8.3.3 : подписи PAdES — это профили CAdES CMS, объединённые с долгосрочной проверкой (§12.8.4) и словарём меток времени документа (§12.8.5), в точности так, как описывает ETSI EN 319 142-1. Причину, по которой важен B-LT, отражает Spec: RFC 6960, §4.4.4 RFC 6960 §4.4.4 : архивированные доказательства отзыва помогают проверяющей стороне оценить надёжность подписи на момент её создания даже после того, как сертификат, использованный для проверки, истёк. В этом и состоит смысл их встраивания.
Движок NextPDF кодирует каждый уровень как предикат-требование и создаёт запрошенный уровень либо завершается ошибкой — он не объявляет уровень, который не построил.
Практический пример
Заголовок раздела «Практический пример»API повторяет эту последовательность: вы называете уровень, а движок относится к нему как к контракту.
<?php
declare(strict_types=1);
use NextPDF\Security\Signature\SignatureLevel;
// The level is an explicit, ordered choice — not a flag you hope is honoured.$level = SignatureLevel::PAdES_B_T;
// The level itself tells you what it requires, before you sign:$level->requiresTimestamp(); // B-T and above → true$level->requiresDss(); // B-LT and above → true$level->requiresDocumentTimestamp(); // B-LTA only → true
// Ask for B-LTA only if the deployment can actually fulfil it.// The engine produces exactly the requested level or fails with an// actionable error — it never silently signs lower and reports higher.Если вы запросите B-LTA, а развёртывание не может предоставить то, что требует B-LTA, поведение по умолчанию — завершиться ошибкой и сообщить вам наивысший уровень, которого движок мог бы достичь, а не молча вернуть файл B-T с меткой B-LTA.
Распространённое заблуждение
Заголовок раздела «Распространённое заблуждение»Ловушка звучит так: “B-LTA просто лучший, всегда выбирайте его.” B-LTA не лучше вне контекста; он — больше, а большее несёт обязательства. Он требует удостоверяющего центра меток времени, материалов отзыва, собранных в момент подписания, и постоянного процесса архивирования, который повторно проставляет метки времени на документе до того, как защищающие его алгоритмы или сертификаты меток времени ослабнут. Файл B-LTA, которому никто не обновляет метки времени, не защищён на будущее — это файл B-LT с лишней процедурой. И наоборот, B-B для договора, который должен прожить десятилетие, не “лёгкий вариант”; это подпись, которая провалит проверку в тот день, когда истечёт срок действия сертификата. Правильный уровень — тот, которого требует обязательство, не выше и не ниже.
Ограничения и границы
Заголовок раздела «Ограничения и границы»NextPDF создаёт запрошенный уровень PAdES; он не предоставляет стороны, от которых этот уровень зависит. Удостоверяющий центр меток времени, цепочка сертификатов, якоря доверия и связь для получения данных об отзыве в момент подписания — это обязанности развёртывания. Движок реализует структуру и обеспечивает соблюдение контракта уровня; он не может сделать TSA доверенным или сертификат действительным. Создаваемая структура содержит элементы, которые требует уровень, проверенные собственными тестами движка и приведёнными пунктами стандартов. Это не сертификация соответствия от третьей стороны, и эта страница не утверждает юридическую силу eIDAS, которая зависит от сертификата, подписанта и юрисдикции. Является ли время подписания независимо доверенным, рассматривается в разделе Метки времени и доверенное время; как долгосрочные доказательства сохраняют подпись проверяемой, рассматривается в разделе Долгосрочная проверка.
Несколько границ, чтобы точнее задать ожидания:
- B-LT и B-LTA создают структуру долгосрочной проверки, а не вердикт о соответствии. Движок записывает словарь хранилища безопасности документа (Document Security Store) плюс ревизию с меткой времени документа — словарь подписи с Type = DocTimeStamp согласно Spec: ISO 32000-2, §12.8 ISO 32000-2 §12.8 . Эта структура не объявляется здесь как проверенная на соответствие профилю; проверки профиля ETSI EN 319 142-1 привязаны к релизу на конвейере CI редакций Pro и Enterprise, поэтому эта страница не заявляет о соответствии созданного файла ETSI EN 319 142-1.
- Зашифрованные документы обрабатываются по принципу fail-closed для B-LT и B-LTA. Запрос долгосрочного уровня для зашифрованного документа останавливается с понятной ошибкой, а не записывает частичную долгосрочную ревизию.
Доступность уровней по редакциям: все четыре достижимы через один и тот же высокоуровневый интерфейс, setSignature($cert, SignatureLevel::PAdES_B_LTA, $tsaClient)->save():
| Edition | Availability |
|---|---|
| Core | PAdES B-B — базовый уровень с подписанными атрибутами; интерфейс Core. |
| Pro | Добавляет PAdES B-T — доверенную метку времени над значением подписи, управляемую через
|
| Enterprise | Добавляет PAdES B-LT и B-LTA — встроенные материалы проверки (DSS) и обновляемый цикл архивирования с метками времени документа. Они работают через тот же высокоуровневый интерфейс, но только когда установлены оба пакета — Pro и Enterprise; если любой из них отсутствует, вызов завершается отказом по принципу fail-closed, а не записывает частичную долгосрочную ревизию. |
Связанные документы
Заголовок раздела «Связанные документы»- Как подписи располагаются в PDF — основа из диапазонов байтов и словарей, на которой построен каждый уровень.
- Долгосрочная проверка — что на самом деле встраивают B-LT и B-LTA и почему без этого действительная подпись может позднее провалить проверку.
- Метки времени и доверенное время — метка времени RFC 3161, которую вводит B-T и обновляет B-LTA.
- Рабочий процесс подписания договоров — практический процесс, который применяет выбранный базовый уровень PAdES на практике.
Глоссарий
Заголовок раздела «Глоссарий»- PAdES — PDF Advanced Electronic Signatures (усовершенствованные электронные подписи PDF); серия ETSI EN 319 142, профилирующая подписи CMS для PDF.
- Базовый уровень — один из B-B, B-T, B-LT, B-LTA; определённый кумулятивный набор обязательных элементов подписи.
- B-B — базовая подпись с обязательными подписанными атрибутами.
- B-T — B-B плюс доверенная метка времени над значением подписи.
- B-LT — B-T плюс встроенные материалы долгосрочной проверки (DSS).
- B-LTA — B-LT плюс обновляемая метка времени документа для архивной проверки.
- DSS — Document Security Store (хранилище безопасности документа); структура PDF, содержащая встроенные сертификаты и данные об отзыве.
- TSA — Time-Stamp Authority (удостоверяющий центр меток времени); доверенная служба, выпускающая токены меток времени RFC 3161.