THotPDF.SaveIncrementalUpdateAuthenticated Method

Автентифікує політики підписаних ревізій, відхиляє заборонені зміни та атомарно публікує інкрементальне оновлення

Оголошення

function SaveIncrementalUpdateAuthenticated(
  const TargetFile: TFileName;
  const Options: THPDFAuthenticatedIncrementalUpdateOptions;
  out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;

function SaveIncrementalUpdateAuthenticated(
  const TargetFile: TFileName;
  out Info: THPDFAuthenticatedIncrementalUpdateInfo
): Boolean; overload;

Робочий процес

  1. Записує незавершену інкрементальну ревізію в унікального кандидата в каталозі призначення
  2. Завантажує кожну політику з точного захищеного сигнатурою діапазону байтів ревізії
  3. Автентифікує кожен підпис CMS із політикою та за бажанням перевіряє його шлях сертифікатів
  4. Класифікує кожну пізнішу ревізію та застосовує рішення DocMDP, FieldMDP, UR чи UR3, Identity та невідомих перетворень
  5. Публікує прийнятого кандидата через атомарну заміну з записом наскрізь

Відхилення видаляє кандидата та залишає наявне призначення побайтово незмінним

Параметри

ПолеПризначення
AuthenticationipaCryptographic вимагає дійсного підпису діапазону байтів CMS, тоді як ipaTrustedCertificate додатково вимагає cvsTrusted від перевірки шляху сертифікатів і відкликання
RequireSignaturePolicyВідхиляє документи без автентифікованої політики перетворення, коли True, що є типовим
CertificateValidationДовірені корені, проміжні сертифікати, докази офлайн-відкликання, час валідації, призначення та політика алгоритмів, що використовуються режимом довіреного сертифіката

Деталі результату

THPDFAuthenticatedIncrementalUpdateInfo повідомляє підсумковий статус, індекс сигнатури, що не вдалася, статус підпису та сертифіката, загальну кількість підписів, кількість автентифікованих політик і діагностичну проблему

Важливі статуси: aiusAccepted, aiusNoSignaturePolicy, aiusSignatureInvalid, aiusCertificateUntrusted, aiusPolicyMalformed, aiusPolicyViolation та aiusCommitFailed

Використання

var
  Info: THPDFAuthenticatedIncrementalUpdateInfo;
begin
  PDF.BeginIncrementalUpdate('certified.pdf');
  PDF.SetLoadedFormFieldValueByName('CustomerName', 'Ada');
  if not PDF.SaveIncrementalUpdateAuthenticated('updated.pdf', Info) then
    raise Exception.Create(String(Info.Issue));
end;

Межа безпеки

Пов'язані API