HPDFFinalizeHeadlessDocumentTimestampReservation

function HPDFFinalizeHeadlessDocumentTimestampReservation(Target: TStream;
  const Reservation: THPDFHeadlessSignatureReservation;
  const Options: THPDFHeadlessCMSOptions;
  out SignerCertificatePEM: SysUtils.TBytes): THPDFHeadlessCMSResult;

Завершает свежее резервирование DocumentTimestamp после того, как вызывающий записал полный xref и trailer PDF

Target должен оставаться позиционируемым и доступным на чтение/запись; резервирование должно прийти из HPDFWriteHeadlessSignatureReservation с DocumentTimestamp = true

Перед патчингом функция проверяет границы объектов, размер и ограничители гэпа, порядок числовых слотов и свежие заполненные нулями range-слоты

Она хеширует реально пропатченный ByteRange, получает и валидирует свежий токен TSA RFC3161 и пишет токен с нулевым резервным дополнением перед немедленной проверкой целостности

Полный токен должен помещаться в ReservedCMSBytes, а для создания нужны явные доверенная конфигурация TSA и транспорт

SignerCertificatePEM возвращает реальную идентификацию TSA для проверки seed-сертификата на стороне вызывающего до публикации

Позиция потока восстанавливается при успехе и при сбое; этот низкоуровневый хелпер не публикует файлы и сам по себе не соблюдает политики полей подписи документа

Для атомарной публикации с реальными унаследованными seed подписи, проверками DocMDP, FieldMDP, шифрования и разрешений полей используйте THPDFHeadlessDocument.TimestampToFile

Сценарий метки времени документа · Опции