THotPDF.SaveIncrementalUpdateAuthenticated Method

Uwierzytelnia podpisane polityki rewizji, odrzuca zabronione zmiany i atomowo publikuje aktualizację przyrostową

Deklaracje

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

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

Workflow

  1. Zapisuje oczekującą rewizję przyrostową do unikalnego kandydata w katalogu docelowym
  2. Wczytuje każdą politykę z dokładnie tej rewizji, którą chroni zakres bajtów jej sygnatury
  3. Uwierzytelnia każdą sygnaturę CMS zawierającą politykę i opcjonalnie waliduje jej ścieżkę certyfikatów
  4. Klasyfikuje każdą późniejszą rewizję i egzekwuje decyzje DocMDP, FieldMDP, UR lub UR3, Identity oraz dotyczące nieznanych transformacji
  5. Publikuje zaakceptowanego kandydata za pomocą atomowej podmiany write-through

Odrzucenie usuwa kandydata i pozostawia istniejący cel niezmieniony bajt po bajcie

Opcje

SkładnikPrzeznaczenie
AuthenticationipaCryptographic wymaga ważnej sygnatury CMS z zakresu bajtów, a ipaTrustedCertificate dodatkowo wymaga statusu cvsTrusted z walidacji ścieżki certyfikatów i rewokacji
RequireSignaturePolicyOdrzuca dokumenty bez uwierzytelnionej polityki transformacji, gdy ma wartość True, co jest ustawieniem domyślnym
CertificateValidationKotwice zaufania, certyfikaty pośrednie, dowody rewokacji zebrane offline, czas walidacji, przeznaczenie i polityka algorytmów używane w trybie zaufanego certyfikatu

Szczegóły wyniku

THPDFAuthenticatedIncrementalUpdateInfo raportuje status końcowy, indeks sygnatury, która zawiodła, statusy sygnatury i certyfikatu, łączną liczbę sygnatur, liczbę uwierzytelnionych polityk oraz problem diagnostyczny

Do ważnych statusów należą aiusAccepted, aiusNoSignaturePolicy, aiusSignatureInvalid, aiusCertificateUntrusted, aiusPolicyMalformed, aiusPolicyViolation i aiusCommitFailed

Użycie

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;

Granica bezpieczeństwa

Powiązane API