THotPDF.SaveIncrementalUpdateAuthenticated Method

Autentica le policy di revisione firmate, rifiuta le modifiche vietate e pubblica atomicamente un aggiornamento incrementale

Dichiarazioni

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. Scrive la revisione incrementale in sospeso su un candidato univoco nella directory di destinazione
  2. Carica ogni policy dalla revisione esatta protetta dal suo byte range di firma
  3. Autentica ogni firma CMS portatrice di policy e valida opzionalmente il suo percorso di certificati
  4. Classifica ogni revisione successiva e applica le decisioni DocMDP, FieldMDP, UR o UR3, Identity e unknown-transform
  5. Pubblica il candidato accettato con una sostituzione atomica write-through

Un rifiuto elimina il candidato e lascia una destinazione esistente byte per byte invariata

Opzioni

MembroScopo
AuthenticationipaCryptographic richiede una firma CMS byte-range valida, mentre ipaTrustedCertificate richiede inoltre cvsTrusted dalla validazione del percorso di certificati e delle revoche
RequireSignaturePolicyRifiuta i documenti senza una transform policy autenticata quando True, che è il valore predefinito
CertificateValidationTrust anchor, intermediati, evidenze di revoca offline, tempo di validazione, scopo e policy di algoritmo usati dalla modalità trusted-certificate

Dettagli del risultato

THPDFAuthenticatedIncrementalUpdateInfo riporta lo stato finale, l'indice della firma fallita, lo stato di firme e certificati, il numero totale di firme, il numero di policy autenticate e una issue diagnostica

Gli stati importanti includono aiusAccepted, aiusNoSignaturePolicy, aiusSignatureInvalid, aiusCertificateUntrusted, aiusPolicyMalformed, aiusPolicyViolation e aiusCommitFailed

Utilizzo

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;

Perimetro di sicurezza

API correlate