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
- Schreibt die ausstehende inkrementelle Revision in einen eindeutigen Kandidaten im Zielverzeichnis
- Liest jede Policy exakt aus der Revision, die ihre Signatur-Byte-Range schützt
- Authentifiziert jede Policy-tragende CMS-Signatur und validiert optional deren Zertifikatspfad
- Klassifiziert jede spätere Revision und setzt DocMDP-, FieldMDP-, UR- oder UR3-, Identity- und Unknown-Transform-Entscheidungen durch
- 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
| Member | Zweck |
|---|---|
Authentication | ipaCryptographic verlangt eine gültige CMS-Byte-Range-Signatur, während ipaTrustedCertificate zusätzlich cvsTrusted aus Zertifikatspfad- und Revocation-Validierung verlangt |
RequireSignaturePolicy | Weist Dokumente ohne authentifizierte Transform-Policy zurück, wenn True; das ist der Standard |
CertificateValidation | Trust 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
- Eine strukturell vorhandene Policy wird nie maßgeblich, bevor ihre Signatur erfolgreich authentifiziert wurde
- Policy-Dictionarys werden aus dem signierten Snapshot gelesen und an das ursprüngliche Signaturobjekt, die Byte-Range und den CMS-Wert gebunden; eine spätere Revision kann so ihre eigene Autorität weder umlenken noch ersetzen
- Der Trusted-Certificate-Modus ist angemessen, wenn zusätzlich zur Dokumentintegrität die Signaturer-Identität zählt
- Die gewöhnliche Methode
SaveIncrementalUpdatebleibt für unsignierte Workflows verfügbar, die keine Policy-Durchsetzung verlangen