Workflows de firma nativos en Linux

El ABI versionado de callbacks ejecuta jobs sign de schemaVersion 1 contra documentos cargados o callbacks explícitos de entrada; las revisiones de origen originales, los IDs de documentos y las políticas AES-256 R5/R6 autenticadas se retienen

Identidad de firma

Suministra certificatePEM y privateKeyPEM, o suministra pfxBase64 y pfxPassword canónicos con padding; mezclar estas formas de identidad es inválido

password autentica la entrada PDF explícita; un contexto cargado retiene su contraseña PDF, y la contraseña PFX separada autentica el contenedor de firma

La decodificación PFX comprueba alfabeto, padding y bits no usados antes de que OpenSSL parsee el contenedor acotado; los buffers privados de identidad se limpian después de la operación

Campos de firma y apariencia

field selecciona un campo de firma existente sin firmar; pon createField: true para crear un nuevo nombre de campo totalmente calificado en la page en base cero

Las coordenadas de campos nuevos usan user space de PDF: left, bottom, right y top tienen por defecto 36, 36, 240 y 108; un nombre existente no puede recrearse

Un caption opcional genera una apariencia Unicode explícita con una fuente TrueType embebida, mapeo ToUnicode y shaping nativo de complex scripts; fontFamily tiene por defecto DejaVu Sans y fontSize 12

Perfil y certificación

cades selecciona ETSI.CAdES.detached; trustedCAFile suministra una política explícita de CA para la verificación de trust al momento de firmar, y reservedCMSBytes tiene por defecto 16384

certificationPermission es 0 para una firma de aprobación o 1, 2 o 3 para una firma de certificación de primer documento; el writer crea la transformación DocMDP correspondiente y el binding de permisos del catálogo

Las restricciones de permisos por contraseña de usuario, los campos de solo lectura, las firmas existentes y las restricciones de certificación siguen aplicadas por la política nativa de firma de documentos

Publicación transaccional

La API portable Pascal TimestampToFile crea un DocTimeStamp independiente con ETSI.RFC3161 sobre el ByteRange del PDF, incluida su declaración ESIC, la política explícita de trust y CRLs del TSA, y la excepción autenticada de timestamps DocMDP/FieldMDP

Este entry point de timestamps de documento es una API Pascal; el callback de timestamps del ABI de abajo suministra timestamps de firma para los jobs sign existentes

El transporte extendido de timestamps del ABI suministra respuestas RFC 3161 reales a través de un callback síncrono propiedad del llamador con bytes de respuesta acotados, cancelación compartida y política explícita de trust/revocación del TSA

Los callbacks de salida y resultado reciben una firma completamente preparada; antes de la publicación por callbacks, el ABI recarga el candidato para validar el contexto del documento firmado

Solo la publicación exitosa reemplaza el contexto cargado; las identidades inválidas, la creación de campos, los presupuestos, la cancelación o el fallo de callbacks preservan el documento anterior y su árbol de campos

Los callbacks de salida son propiedad del llamador y pueden haber consumido ya bytes cuando un callback posterior falla; los llamadores que requieran rollback externo deben poner esos bytes en staging ellos mismos

Aceptación

Linux FPC 3.2.2 y 3.3.1 pasan cada uno 270 aserciones reales de ctypes, 228 checks independientes de PDF/imágenes/seguridad/CMS, 33 aserciones del C ABI y 80 operaciones concurrentes de handles compartidos

Los checks independientes autentican los IDs/políticas de seguridad AES, validan CMS y CAdES con OpenSSL, rechazan contenido alterado, inspeccionan las transformaciones de certificación y las fuentes embebidas de apariencias, y verifican los píxeles reales visibles de firmas

C ABI nativo · Firma PFX en Pascal · Transporte de timestamps en Pascal