Workflows de firma Linux nativa
El ABI versionado de callbacks ejecuta jobs sign de schemaVersion 1 contra documentos cargados o callbacks de entrada explícitos; las revisiones de la fuente original, los document IDs y las políticas AES-256 R5/R6 autenticadas se conservan
Identidad de firma
Suministra certificatePEM y privateKeyPEM, o suministra pfxBase64 canónico con padding y pfxPassword; mezclar estas formas de identidad no es válido
password autentica la entrada PDF explícita; un contexto cargado conserva su password PDF, y el password PFX separado autentica el contenedor de firma
La decodificación PFX comprueba alfabeto, padding y bits sin usar antes de que OpenSSL parseee 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; establece createField: true para crear un nombre de campo completamente cualificado nuevo en la page base cero
Las coordenadas de campos nuevos usan el espacio de usuario PDF: left, bottom, right y top toman 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 toma por defecto DejaVu Sans y fontSize 12
Perfil y certificación
cades selecciona ETSI.CAdES.detached; trustedCAFile suministra una política de CA explícita para la verificación de confianza en el momento de firmar, y reservedCMSBytes toma por defecto 16384
certificationPermission es 0 para una firma de aprobación o 1, 2 o 3 para una firma de certificación del primer documento; el writer crea la transformación DocMDP correspondiente y el binding de permisos del catálogo
Las restricciones de permisos de user password, los campos de solo lectura, las firmas existentes y las restricciones de certificación siguen aplicándose 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 confianza TSA explícita y la política CRL, y la excepción autenticada de timestamps DocMDP/FieldMDP
Este punto de entrada 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 de timestamps del ABI extendido 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 confianza/revocación 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 correcta reemplaza el contexto cargado; las identidades inválidas, la creación de campos, los presupuestos, la cancelación o el fallo de callback 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 exijan rollback externo deben preparar esos bytes ellos mismos
Aceptación
Linux FPC 3.2.2 y 3.3.1 pasan cada uno 270 assertions reales de ctypes, 228 checks independientes de PDF/imágenes/seguridad/CMS, 33 assertions del C ABI y 80 operaciones concurrentes de handles compartidos
Los checks independientes autentican los IDs y políticas de seguridad AES, validan CMS y CAdES con OpenSSL, rechazan el contenido manipulado, inspeccionan las transformaciones de certificación y las fuentes de apariencias embebidas, y verifican los píxeles reales de firmas visibles
Native C ABI · Pascal PFX signing · Pascal timestamp transport