Workflows nativos de assinatura em Linux

A ABI versionada de callbacks executa trabalhos sign com schemaVersion 1 contra documentos carregados ou callbacks explícitos de entrada; revisões originais de fontes, IDs de documentos 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 estas formas de identidade é inválido

password autentica entrada PDF explícita; um contexto carregado mantém a palavra-passe PDF dele, e a palavra-passe PFX separada autentica o contentor de assinatura

A descodificação PFX verifica alfabeto, padding e bits não usados antes de o OpenSSL analisar o contentor delimitado; buffers privados de identidades são limpos após a operação

Campos e aparências de assinaturas

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

As coordenadas de campos novos usam o espaço de utilizador PDF: left, bottom, right e top têm por defeito 36, 36, 240 e 108; um nome existente não pode ser recriado

Uma caption opcional gera uma aparência Unicode explícita com um tipo de letra TrueType incorporado, mapeamento ToUnicode e shaping nativo de scripts complexos; fontFamily tem por defeito DejaVu Sans e fontSize 12

Perfil e certificação

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

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

Restrições de permissões de palavras-passe de utilizadores, campos só de leitura, assinaturas existentes e restrições de certificação continuam impostas pela política nativa de assinatura de documentos

Publicação transacional

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

Este ponto de entrada de timestamps de documentos é uma API Pascal; o callback de timestamps da ABI abaixo fornece timestamps de assinaturas para trabalhos de assinatura existentes

O transport estendido de timestamps da ABI fornece respostas RFC 3161 reais através de um callback síncrono próprio de quem chama, com bytes de respostas delimitados, cancelamento partilhado e política explícita de confiança/revogação TSA

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

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

Callbacks de saída são próprios de quem chama e podem já ter consumido bytes quando um callback posterior falha; quem exige rollback externo tem de preparar esses bytes por conta própria

Aceitação

Linux FPC 3.2.2 e 3.3.1 passam cada um 270 asserções reais de ctypes, 228 verificações independentes de PDFs/imagens/segurança/CMS, 33 asserções da ABI C e 80 operações concorrentes de handles partilhados

Verificações 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 tipos de letra de aparências incorporadas, e verificam píxeis reais visíveis de assinaturas

ABI C nativa · Assinatura Pascal PFX · Transport Pascal de timestamps