Перейти к содержимому
getnextpdf.com

Enterprise редакция

Доказательства

NextPDF Enterprise собирает выводы проверки по каждому документу в запечатанный, неизменяемый пакет с детерминированной формой JSON и стабильным дайджестом SHA-256, опционально несущий токен метки времени RFC 3161. Захват доказательств поддерживает рабочие процессы аудита. Это не юридическое удостоверение, не аудиторская сертификация и не доказательство соответствия документа.

Эта возможность поставляется в NextPDF Enterprise (nextpdf/enterprise) и активируется лицензионным конвертом уровня Enterprise. Развёртывание без этого права не загружает классы возможности. Сравните редакции и получите лицензию.

Окно терминала
composer require nextpdf/enterprise:^3

EvidencePortal — это точка входа. generateEvidence($documentHash, $records, $tsaTimestamp) собирает список экземпляров EvidenceRecord в EvidencePackage, вычисляет статистику прохождений/сбоев, сохраняет пакет через EvidenceStoreInterface и возвращает запечатанный пакет. EvidenceRecord фиксирует одну проверку политики: имя политики, флаг прохождения, детали, версию валидатора, который её произвёл, и метку времени.

EvidencePackage неизменяем после конструирования. Он несёт идентификатор пакета, SHA-256 проверенного документа, записи, агрегированные счётчики, время генерации и опциональный токен метки времени RFC 3161. allPassed() и passRate() его обобщают. Его неизменяемость делает пакет пригодным для хранилища с записью один раз и многократным чтением (WORM).

EvidenceExporter сериализует пакет в детерминированную строку JSON — с фиксированным порядком ключей, воспроизводимую, — поэтому exportHash() возвращает стабильный 64-символьный дайджест SHA-256 для проверки целостности. Один и тот же пакет всегда даёт один и тот же дайджест, независимо от того, когда и где он вычислен.

ContinuousMonitor повторно проверяет документ и сравнивает текущие доказательства с сохранёнными предыдущими по имени непройденной политики, классифицируя проблемы как новые, решённые или неизменные, и предоставляет проверку расписания (isDue() / MonitorSchedule / MonitorFrequency). Это поддерживает обнаружение дрейфа во времени; он сообщает, что изменилось, а не утверждает юридический статус в какой-либо момент.

Этот модуль упаковывает и помечает меткой времени выводы проверки для рабочих процессов аудита. Он ничего не сертифицирует.

  • Токен метки времени RFC 3161 привязывает данные пакета к значению времени: он предоставляет доказательство того, что данные существовали до этого времени. Это не юридическое удостоверение, и он не утверждает, что снабжённое меткой времени содержимое соответствует требованиям или действительно.
  • Запечатанный пакет с allPassed() === true фиксирует, что включённые проверки прошли относительно реализуемых ими правил. Это не аудиторская сертификация.
  • Детерминированный дайджест доказывает целостность байтов пакета. Он не доказывает регуляторную достаточность документа.

Захват доказательств поддерживает рабочие процессы аудита; это не юридическое удостоверение и не аудиторская сертификация. Действительность и конформность остаются свойствами итогового файла плюс валидатора.

Упаковка доказательств — это поверхность только для Enterprise. Core и Pro производят выводы и отчёты; Enterprise Evidence запечатывает эти выводы в неизменяемый, детерминированный, опционально снабжённый меткой времени пакет и отслеживает регрессии. Она зависит от выводов, произведённых в другом месте (поверхности Validation или Compliance); она сама не выполняет проверок конформности.

Доказательства полезны только в том случае, если их нельзя незаметно переписать задним числом, поэтому EvidencePackage — это запечатанное readonly-значение без мутаторов, безопасное для хранилища с записью один раз и многократным чтением. Вывод toJson() экспортёра следует фиксированному порядку вставки ключей, а не сортировке во время выполнения, поэтому один и тот же пакет всегда сериализуется в идентичные байты. Эта байтовая стабильность позволяет сохранённому exportHash() позже проверить целостность: любое изменение пакета меняет дайджест. Токен RFC 3161 хранится как встроенное доказательство времени, а не как вердикт, поэтому пакет доказывает, когда выполнялась проверка, не утверждая, что документ соответствует требованиям. Отслеживание регрессий затем сравнивает по имени непройденной политики с предыдущим пакетом, поэтому обнаружение дрейфа остаётся независимым от порядка или количества проверок.

Обоснование проектирования: Соответствие, которое можно передать аудитору.

КлассОтветственность
EvidencePortalСобрать, сохранить и извлечь пакеты доказательств.
EvidencePackageНеизменяемый запечатанный набор записей с агрегированной статистикой.
EvidenceRecordРезультат одной проверки политики с версией валидатора и меткой времени.
EvidenceExporterДетерминированная сериализация JSON; стабильный дайджест SHA-256.
EvidenceStoreInterfaceКонтракт сохранения.
InMemoryEvidenceStoreЭталонная реализация хранилища в памяти.
ContinuousMonitorПовторная проверка и сравнение с предыдущими доказательствами.
MonitorResultКлассификация проблем: новые / решённые / неизменные.
MonitorSchedule / MonitorFrequencyОпрос по расписанию.
$package = $portal->generateEvidence($documentHash, $records);
$digest = $exporter->exportHash($package); // 64-char SHA-256
$package = $portal->generateEvidence($documentHash, $records, $tsaToken);
$logger->info('evidence.sealed', [
'package' => $package->packageId,
'digest' => $exporter->exportHash($package),
'pass_rate' => $package->passRate(),
]);
$delta = $monitor->check($package, $documentHash);
if ($delta->newIssues !== []) {
$logger->warning('evidence.regression', ['count' => count($delta->newIssues)]);
}
// The package is audit-supporting evidence, not an attestation of compliance.
  • passRate() возвращает 0.0, когда выводов нет; пустой пакет — это не прохождение.
  • Экспорт детерминирован только через EvidenceExporter; хеширование произвольных сериализаций нарушает гарантию стабильного дайджеста.
  • Пакет без токена TSA по-прежнему является действительным доказательством; токен добавляет привязку ко времени, а не вердикт.

Упаковка и детерминированная сериализация растут линейно с числом записей. Вычисление дайджеста — это один проход SHA-256 по сериализованному JSON.

Дайджест пакета обеспечивает защищённость байтов пакета от подделки. Опциональный токен RFC 3161 должен исходить от доверенного TSA; этот модуль встраивает токен, он не ручается за TSA. Считайте детали записей потенциально конфиденциальными (см. ниже).

Записи доказательств и хеши документов могут ссылаться на регулируемое содержимое. Упаковка выполняется внутри процесса; сохранение делегируется вашей реализации EvidenceStoreInterface, поэтому резидентность следует за вашим хранилищем. Применяйте средства контроля хранения и минимизации к сохранённым пакетам.

Безопасная телеметрия и очистка журналов

Заголовок раздела «Безопасная телеметрия и очистка журналов»

Метаданные пакета (идентификаторы, дайджесты, счётчики) безопасно логировать. Детали записей могут отражать сообщения выводов, содержащие извлечённые строки документа; скрывайте их перед пересылкой в общие приёмники.

ПоведениеСсылкаСтатус
Токен метки времени привязывает данные ко времениIETF RFC 3161 §2Токен встроен (предоставлен TSA)
Контекст DSS / долгосрочной проверкиISO 32000-2:2020 §12.8Упомянуто (потребляется, не производится здесь)

Эта таблица фиксирует спецификации, под которые создан этот модуль. Токен метки времени — это доказательство времени, а не сертификация или юридическое удостоверение.

Этот модуль вычисляет SHA-256 по байтам пакета и встраивает предоставленный вызывающей стороной токен RFC 3161. Он не выполняет подписания и хранения ключей; криптографические операции и поведение в режиме FIPS обрабатываются модулями Security и Signature.

Входные данные — это выводы и опциональный токен TSA. Меры защиты: неизменяемые пакеты, детерминированная сериализация со стабильным дайджестом целостности и делегированное сохранение, поэтому хранилище обеспечивает WORM и контроль доступа.

  • Портал собирает выводы в неизменяемый, запечатанный пакет с идентификатором пакета, SHA-256 проверенного документа, записями, агрегированными счётчиками, временем генерации и опциональным токеном метки времени RFC 3161.
  • Экспортёр сериализует пакет в детерминированную строку JSON с фиксированным порядком ключей, поэтому дайджест — это стабильный 64-символьный SHA-256, идентичный независимо от того, когда и где он вычислен.
  • Непрерывный монитор повторно проверяет и сравнивает текущие доказательства с сохранёнными предыдущими по имени непройденной политики, классифицируя проблемы как новые, решённые или неизменные.
  • passRate() возвращает 0.0, когда выводов нет — пустой пакет не является прохождением; пакет без токена TSA по-прежнему является действительным доказательством.
  • Токен метки времени — это доказательство того, что данные существовали до определённого времени; это не юридическое удостоверение, и он не делает заявления о соответствии или действительности содержимого.

Эта страница документирует только внешне наблюдаемое поведение и поддерживаемую публичную поверхность API. Внутренние пути пространств имён, вспомогательные классы, таблицы механизмов, имена файлов runbook и префиксы тикетов находятся вне области рассмотрения.

Core и Pro производят выводы и отчёты; запечатывание этих выводов в неизменяемый, детерминированный, опционально снабжённый меткой времени пакет с отслеживанием регрессий не имеет эквивалента уровня Core. Поверхность Enterprise зависит от выводов, произведённых в другом месте; она сама не выполняет проверок конформности.

Резервный вариант Pro — отсутствует; у этой возможности нет эквивалента уровня Pro. Запечатанный пакет доказательств, детерминированный экспортёр и непрерывный монитор поставляются только в пакете nextpdf/enterprise; поверхность потребляет выводы от поверхностей Validation или Compliance.

Портал, пакет, экспортёр и монитор описаны на уровне поведения. Эталонное хранилище в памяти задокументировано; долговечное сохранение предоставляется хостом, а любые внутренние детали хранилища находятся вне области публичной поверхности. Этот модуль встраивает предоставленный вызывающей стороной токен TSA; он не ручается за TSA.

Упаковка и сериализация выполняются внутри процесса. Оператор предоставляет долговечную реализацию хранилища, отвечает за обеспечение WORM и контроль доступа и предоставляет токен TSA от доверенного TSA. Записи доказательств и хеши документов могут ссылаться на регулируемое содержимое; резидентность следует за хранилищем оператора, а средства контроля хранения и минимизации — это ответственность оператора.

Захват доказательств поддерживает рабочие процессы аудита; это не юридическое удостоверение и не аудиторская сертификация, а действительность и конформность остаются свойствами итогового файла плюс валидатора. Эта документация не является юридическим заключением; обращайтесь к собственным консультантам по соответствию и юристам.