Evidências nativas de validação de assinaturas
HPDFHeadlessLTV autentica cadeias de certificados e evidências DER de OCSP ou CRL antes de um document security store ser adicionado a um PDF assinado
AddSignatureValidationEvidence verifica os ByteRanges originais do PDF, a assinatura CMS, a cadeia confiável do signer e o timestamp RFC3161 obrigatório da assinatura, e depois checa a cobertura de revogação de cada certificado não âncora nas cadeias do signer e do TSA
A verificação OCSP checa a assinatura do responder, a cadeia e a autorização, identificadores completos de certificados de issuer-name e issuer-key, números de série, status good, producedAt, thisUpdate, nextUpdate e as janelas de frescor configuradas; respostas revogadas, desconhecidas, não relacionadas, duplicadas, velhas, futuras ou não autenticadas são rejeitadas
A verificação de CRLs usa um store isolado para cada lista de issuers fornecida e checa seu issuer, assinatura, escopo, janela de validade e status de revogação de certificados; uma CRL mais antiga carregada por outra fonte não pode substituir as evidências realmente fornecidas
O DSS do catalog contém arrays globais de Certs, OCSPs e CRLs, com uma entrada VRI referenciando as evidências verificadas da assinatura selecionada; sua chave SHA-1 em maiúsculas cobre a string Contents completa, incluindo o padding de zeros reservado, como exigido pelo índice VRI do PDF
SHA-1 é usado apenas para o índice VRI prescrito ou um identificador de certificado OCSP fornecido; ele não seleciona o algoritmo de assinatura do signer, TSA, responder ou certificado do PDF
O writer retém os bytes assinados originais e as entradas DSS existentes e anexa uma revisão incremental; origens Standard AES-256 retêm a criptografia dos streams de evidências recém-gerados, sujeitos à permissão de modificação ou autenticação de owner
As checagens de confiança e evidências usam o relógio corrente de verificação; esta API não estabelece validação histórica após a expiração de certificados nem adiciona um document timestamp protegendo revisões DSS posteriores
Dados DSS adicionados após uma assinatura ficam fora do ByteRange dessa assinatura; autentique de forma independente as evidências embutidas sempre que usá-las, e use uma assinatura posterior ou document timestamp quando uma revisão de arquivamento autenticada for exigida
Comportamento de recursos e falhas
Trust roots explícitos fornecidos pelo chamador são obrigatórios, e o requisito de timestamp tem default True; inicialize THPDFHeadlessLTVOptions com Default
Os limites de bytes, objetos, streams decodificados, saída e cancelamento são checados antes da publicação do grafo; evidências rejeitadas deixam o documento inalterado, e SaveToFile publica pelo writer atômico existente
Aceitação
Run-HeadlessLTVTests.sh, Run-HeadlessLTVTests-Windows.cmd e Run-HeadlessLTVTests-Delphi.ps1 exercitam respostas reais de OCSP, CRL, CMS e RFC3161 locais do OpenSSL no Linux e no Windows, sem desktop nem PDF reader
Verify-HeadlessLTV.py checa de forma independente as assinaturas e identificadores das evidências com cryptography, as referências DSS/VRI com pypdf, a exceção de criptografia do Contents de assinaturas com MuPDF, e os ByteRanges exatos do PDF com OpenSSL