Workflows de assinatura nativos no Linux

A ABI versionada de callbacks executa jobs sign schemaVersion 1 contra documentos carregados ou callbacks explícitos de entrada; revisões originais da origem, document IDs e políticas autenticadas AES-256 R5/R6 são retidas

Identidade de assinatura

Forneça certificatePEM e privateKeyPEM, ou forneça pfxBase64 canônico com padding e pfxPassword; misturar essas formas de identidade é inválido

password autentica entrada PDF explícita; um contexto carregado retém sua senha PDF, e a senha PFX separada autentica o container de assinatura

A decodificação PFX checa alfabeto, padding e bits não usados antes de o OpenSSL parsear o container delimitado; os buffers privados de identidade são limpos após a operação

Campos de assinatura e aparência

field seleciona um campo de assinatura existente não assinado; defina createField: true para criar um nome de campo totalmente qualificado novo na page com base zero

Coordenadas de campos novos usam o user space do PDF: left, bottom, right e top têm default 36, 36, 240 e 108; um nome existente não pode ser recriado

Uma caption opcional gera uma aparência Unicode explícita com fonte TrueType embutida, mapeamento ToUnicode e shaping nativo de scripts complexos; fontFamily tem default DejaVu Sans e fontSize 12

Perfil e certificação

cades seleciona ETSI.CAdES.detached; trustedCAFile fornece uma política explícita de CA para a verificação de confiança no momento da assinatura, e reservedCMSBytes tem default 16384

certificationPermission é 0 para assinatura de aprovação ou 1, 2 ou 3 para uma assinatura de certificação do primeiro documento; o writer cria o transform DocMDP correspondente e o binding de permissões do catalog

Restrições de permissões por senha de usuário, campos read-only, assinaturas existentes e constraints de certificação permanecem aplicados pela política nativa de assinatura de documentos

Publicação transacional

A API Pascal portátil TimestampToFile cria um DocTimeStamp independente com ETSI.RFC3161 sobre o ByteRange do PDF, incluindo sua declaração ESIC, confiança e política de CRL explícitas do TSA, e a exceção autenticada de timestamps DocMDP/FieldMDP

Este entry point de document timestamps é uma API Pascal; o callback de timestamps da ABI abaixo fornece timestamps de assinatura para jobs sign existentes

O transporte estendido de timestamps da ABI fornece respostas reais RFC 3161 através de um callback síncrono de posse do chamador, com bytes de resposta delimitados, cancelamento compartilhado e política explícita de confiança/revogação do TSA

Callbacks de saída e resultado recebem uma assinatura totalmente preparada; antes da publicação por callbacks, a ABI recarrega o candidato para validar o contexto do documento assinado

Apenas a publicação bem-sucedida substitui o contexto carregado; identidades inválidas, criação de campos, orçamentos, cancelamento ou falha de callback preservam o documento anterior e sua árvore de campos

Callbacks de saída são de posse do chamador e podem já ter consumido bytes quando um callback posterior falha; chamadores que exigem rollback externo precisam preparar esses bytes por conta própria

Aceitação

Linux FPC 3.2.2 e 3.3.1 passam cada um por 270 assertions reais de ctypes, 228 checagens independentes de PDF/imagens/segurança/CMS, 33 assertions da C ABI e 80 operações concorrentes de handles compartilhados

Checagens independentes autenticam IDs/políticas de segurança AES, validam CMS e CAdES com OpenSSL, rejeitam conteúdo adulterado, inspecionam transforms de certificação e fontes de aparências embutidas, e verificam pixels reais visíveis de assinaturas

C ABI nativa · Assinatura PFX em Pascal · Transporte de timestamps em Pascal