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