THotPDF.SaveIncrementalUpdateAuthenticated-Methode

Authentifiziert signierte Revisions-Policies, weist verbotene Änderungen zurück und veröffentlicht ein inkrementelles Update atomar

Deklarationen

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. Schreibt die ausstehende inkrementelle Revision in einen eindeutigen Kandidaten im Zielverzeichnis
  2. Liest jede Policy exakt aus der Revision, die ihre Signatur-Byte-Range schützt
  3. Authentifiziert jede Policy-tragende CMS-Signatur und validiert optional deren Zertifikatspfad
  4. Klassifiziert jede spätere Revision und setzt DocMDP-, FieldMDP-, UR- oder UR3-, Identity- und Unknown-Transform-Entscheidungen durch
  5. Veröffentlicht den akzeptierten Kandidaten mit einem Write-Through-Atomic-Replacement

Eine Zurückweisung löscht den Kandidaten und lässt ein vorhandenes Ziel bytefür-byte unverändert

Optionen

MemberZweck
AuthenticationipaCryptographic verlangt eine gültige CMS-Byte-Range-Signatur, während ipaTrustedCertificate zusätzlich cvsTrusted aus Zertifikatspfad- und Revocation-Validierung verlangt
RequireSignaturePolicyWeist Dokumente ohne authentifizierte Transform-Policy zurück, wenn True; das ist der Standard
CertificateValidationTrust Anchors, Intermediates, Offline-Revocation-Evidenz, Validierungszeit, Zweck und Algorithmus-Policy für den Trusted-Certificate-Modus

Ergebnisdetails

THPDFAuthenticatedIncrementalUpdateInfo meldet den Endstatus, den Index der fehlschlagenden Signatur, Signatur- und Zertifikatsstatus, die Gesamtzahl der Signaturen, die Anzahl authentifizierter Policies und ein Diagnose-Issue

Wichtige Statuswerte sind aiusAccepted, aiusNoSignaturePolicy, aiusSignatureInvalid, aiusCertificateUntrusted, aiusPolicyMalformed, aiusPolicyViolation und aiusCommitFailed

Verwendung

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;

Sicherheitsgrenze

Verwandte APIs