THPDFHeadlessDocument.TimestampToFile

function TimestampToFile(FieldIndex: Integer; const FileName: string;
  const Options: THPDFHeadlessCMSOptions;
  ReservedTimestampBytes: Integer = 16384): THPDFHeadlessCMSResult;

Crea un timestamp del documento reale in un campo firma esistente non firmato e pubblica atomicamente un output PDF incrementale indipendente

FieldIndex è l'indice del campo form a base zero restituito da FindFormField; è diverso dall'indice delle firme popolate accettato da VerifySignature

Il dizionario di output usa Type DocTimeStamp e SubFilter ETSI.RFC3161, con un token timestamp DER autentico nella riserva Contents non crittografata

DigestMethod seleziona SHA256, SHA384 o SHA512 per il ByteRange del PDF esattamente coperto; il writer sistema gli intervalli numerici prima di richiedere il token

Timestamp.Transport deve restituire una risposta RFC 3161 reale, e Timestamp.TrustedCAFile deve identificare esplicitamente le root TSA trusted; TrustedCRLFile e RequireRevocation opzionali validano CRL attuali firmate dall'issuer

La risposta deve vincolare l'imprint esatto del messaggio e un nonce di richiesta fresco, usare un certificato TSA e un binding ESS appropriati, e superare i controlli configurati su firma immediata, scopo, catena e revoca prima della pubblicazione

Non serve alcuna chiave di firma dell'applicazione né un certificato del signer; i vincoli obbligatori sul certificato di firma valutano il certificato TSA reale autenticato e la catena di certificati incorporata

Restano effettivi il handler seed della firma obbligatorio, il SubFilter RFC3161, il digest, il motivo, l'URL del timestamp, il subject e l'issuer del certificato e i vincoli correnti sull'aspetto nominato

I controlli DocMDP e FieldMDP autenticati consentono solo le modifiche necessarie a inserire un timestamp del documento autentico, incluso l'inserimento in un campo firma esistente non firmato sotto P1 o un lock di campo; questa eccezione standard non permette la firma di approvazione ordinaria né modifiche al form vietate dalla policy originale

I controlli di modifica successivi autenticano il timestamp, vincolano campo e firma alla revisione con timestamp, e continuano a proteggere il grafo di oggetti certificato originale e i campi bloccati

Per una sorgente precedente a PDF 2.0, l'output aggiunge la dichiarazione di estensione ESIC con BaseVersion 1.7 ed ExtensionLevel 1 quando necessario, preserva i profili di estensione esistenti, e promuove una versione PDF effettiva più vecchia attraverso Catalog Version 1.7 senza alterare l'header originale

Campi read-only, alias sorgente e permessi AES di compilazione form restano applicati; certificazione di approvazione incompatibile, LegalAttestation, profili di revoca firmati Adobe e riferimenti a trasformazioni FieldMDP del timestamp vengono respinti

ReservedTimestampBytes è una capacità positiva del token entro il budget degli oggetti del documento; il token completo deve stare nella riserva esadecimale fissa

La creazione preserva i byte sorgente originali e la sicurezza AES, mantiene Contents della firma non crittografato, crittografa gli altri metadati sotto la policy originale, e lascia invariato il grafo di campi caricato

Fallimenti, cancellazione, risposte non valide e budget insufficienti preservano ogni destinazione esistente e rimuovono i file di staging non pubblicati

I cancellation token di documento, CMS e timestamp devono coincidere quando non nil; i dati coperti vengono letti in chunk di al massimo 64 KiB

Usa AddSignatureField e SetSignatureFieldAppearance per preparare un nuovo widget timestamp, e VerifySignature per autenticare il timestamp del documento risultante

Dopo una creazione riuscita TimestampCount è uno e TimestampValid è true; CertificateTrusted e TimestampTrustEvaluated riflettono il pass esplicito di validazione del trust TSA

Il profilo di estensione segue la ETSI EN 319 142-1, clausola 5.6; le modifiche necessarie al timestamp seguono la chiarificazione MDP dell'ISO 32000-2

Provider di timestamp in streaming · Opzioni