THotPDF.SaveIncrementalUpdateAuthenticated Method

Autentifikuje potpisane politike revizija, odbija zabranjene izmene i atomski objavljuje inkrementalno ažuriranje

Deklaracije

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 pripremljenu inkrementalnu reviziju u jedinstveni kandidat-fajl u ciljnom direktorijumu
  2. Učitava svaku politiku iz tačne revizije koju štiti njen signature byte range
  3. Autentifikuje svaki CMS potpis koji nosi politiku i opciono validira njegov certificate path
  4. Klasifikuje svaku kasniju reviziju i sprovodi odluke za DocMDP, FieldMDP, UR ili UR3, Identity i nepoznate transformacije
  5. Objavljuje prihvaćenog kandidata write-through atomskom zamemom

Odbijanje briše kandidata, a postojeći ciljni fajl ostavlja nepromenjen, bajt po bajt

Opcije

ČlanSvrha
AuthenticationipaCryptographic zahteva važeći CMS byte-range potpis, dok ipaTrustedCertificate dodatno traži cvsTrusted iz validacije certificate path-a i opoziva
RequireSignaturePolicyKada je True, što je podrazumevana vrednost, odbija dokumente bez autentifikovane transform politike
CertificateValidationTrust anchor-i, intermedijari, offline dokazi o opozivu, vreme validacije, namena i politika algoritama koje koristi režim poverljivog sertifikata

Detalji rezultata

THPDFAuthenticatedIncrementalUpdateInfo izveštava konačni status, indeks potpisa koji nije prošao, status potpisa i sertifikata, ukupan broj potpisa, broj autentifikovanih politika i jedan dijagnostički problem

Važni statusi uključuju aiusAccepted, aiusNoSignaturePolicy, aiusSignatureInvalid, aiusCertificateUntrusted, aiusPolicyMalformed, aiusPolicyViolation i aiusCommitFailed

Upotreba

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;

Bezbednosna granica

Povezani API-ji