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