HPDFWriteHeadlessSignatureReservation

I valori THPDFHeadlessSignatureMetadata opzionali diventano voci Unicode Reason, Location, ContactInfo e Name; lo stesso StringEncoder si applica sia ai nomi field-lock sia ai metadati prima che venga scritto qualsiasi byte

function HPDFWriteHeadlessSignatureReservation(Target: TStream;
  ObjectNumber, Generation, ReservedCMSBytes, MaxObjectBytes: Integer;
  CAdES: Boolean = False; CertificationPermission: Integer = 0;
  CatalogObjectNumber: Integer = 0; CatalogGeneration: Integer = 0;
  FieldLock: PHPDFHeadlessFieldLock = nil;
  StringEncoder: THPDFHeadlessPolicyStringEncoder = nil;
  StringEncoderContext: Pointer = nil;
  Metadata: PHPDFHeadlessSignatureMetadata = nil;
  DocumentTimestamp: Boolean = False): THPDFHeadlessSignatureReservation;

Scrive un vero dizionario firma indiretto con slot ByteRange numerici fissi e una riserva Contents esadecimale riempita di zeri

Il chiamante possiede lo stream di output e deve fornire un numero oggetto positivo, una generazione da 0 a 65535, una riserva DER positiva e un budget di byte per oggetto

La funzione controlla la dimensione completa del dizionario prima di scrivere o allocare la riserva e riempie il suo payload esadecimale a chunk limitati

Imposta CAdES=true per ETSI.CAdES.detached; il default scrive adbe.pkcs7.detached

Fornisci un riferimento Catalog valido e un permesso di certificazione da 1 a 3 per emettere una trasformazione DocMDP; un field lock opzionale emette la sua vera trasformazione FieldMDP nello stesso array Reference

I nomi field lock sono validati e codificati come stringhe PDF UTF-16BE prima di scrivere la riserva; i chiamanti low-level cifrati forniscono una callback StringEncoder che riceve i byte in chiaro e restituisce i byte della stringa cifrata

La callback gira prima che venga scritto qualsiasi byte di riserva e l'espansione della codifica è inclusa nel budget dell'oggetto; THPDFHeadlessDocument fornisce automaticamente il context di cifratura del documento autenticato

Registra l'offset dell'oggetto restituito con il writer xref condiviso, collega l'oggetto a un campo firma e completa il trailer PDF prima di chiamare HPDFFinalizeHeadlessSignatureReservation

I chiamanti low-level sono responsabili di staging e pubblicazione; THPDFHeadlessDocument.SignToFile fornisce protezione della sorgente, conservazione della cifratura, budget e pubblicazione atomica del file

DocumentTimestamp=true scrive DocTimeStamp/ETSI.RFC3161 anziché un profilo di approvazione e proibisce riferimenti a trasformazioni di certificazione o field lock; finalizzalo con HPDFFinalizeHeadlessDocumentTimestampReservation