Evidência nativa de validação de assinaturas

HPDFHeadlessLTV autentica cadeias de certificados e evidência DER de OCSP ou de CRLs antes de um arquivo de segurança de documentos ser acrescentado a um PDF assinado

AddSignatureValidationEvidence verifica os ByteRanges PDF originais, a assinatura CMS, a cadeia fidedigna do signer e o timestamp RFC3161 exigido da assinatura, e depois verifica a cobertura de revogação de todos os certificados não âncora nas cadeias do signer e do TSA

A verificação OCSP verifica a assinatura do respondedor, a cadeia e a autorização, identificadores completos de certificados de nome e de chave de emissores, números de série, status good, producedAt, thisUpdate, nextUpdate e as janelas configuradas de frescura; respostas revogadas, desconhecidas, alheias, duplicadas, obsoletas, futuras ou não autenticadas são rejeitadas

A verificação de CRLs usa um arquivo isolado para cada lista de emissores fornecida e verifica o emissor, a assinatura, o âmbito, a janela de validade e o estado de revogação de certificados dela; uma CRL mais antiga carregada através de outra fonte não pode substituir a evidência realmente fornecida

O DSS do catalog contém arrays globais de Certs, OCSPs e CRLs, com uma entrada VRI que referencia a evidência verificada da assinatura selecionada; a chave SHA-1 em maiúsculas dela cobre a string Contents completa, incluindo padding de zeros reservado, como exigido pelo índice VRI do PDF

SHA-1 é usado apenas para o índice VRI prescrito ou para um identificador de certificado OCSP fornecido; não seleciona o algoritmo de assinatura do signer PDF, do TSA, do respondedor nem dos certificados

O escritor mantém os bytes originais assinados e as entradas DSS existentes e acrescenta uma revisão incremental; fontes Standard AES-256 mantêm a encriptação para streams de evidência recém-geradas, sujeitas a permissão de modificação ou autenticação de proprietário

As verificações de confiança e de evidência usam o relógio atual de verificação; esta API não estabelece validação histórica após a expiração de certificados nem acrescenta um timestamp de documentos que proteja revisões DSS posteriores

Os dados DSS acrescentados após uma assinatura ficam fora do ByteRange dessa assinatura; autentique de forma independente a evidência incorporada sempre que ela for usada, e use uma assinatura posterior ou um timestamp de documentos quando for exigida uma revisão de arquivo autenticada

Recursos e comportamento de falhas

Raízes de confiança explícitas fornecidas por quem chama são obrigatórias, e o requisito de timestamps tem por defeito True; inicialize THPDFHeadlessLTVOptions com Default

Os limites de bytes, objetos, streams descodificadas, saída e cancelamento são verificados antes da publicação do grafo; evidência rejeitada deixa o documento inalterado, e SaveToFile publica através do escritor atómico existente

Aceitação

Run-HeadlessLTVTests.sh, Run-HeadlessLTVTests-Windows.cmd e Run-HeadlessLTVTests-Delphi.ps1 exercitam respostas reais de OpenSSL OCSP, CRLs, CMS e RFC3161 locais em Linux e Windows sem desktop nem leitor PDF

Verify-HeadlessLTV.py verifica de forma independente assinaturas e identificadores de evidência com cryptography, referências DSS/VRI com pypdf, a exceção de encriptação do Contents de assinaturas com MuPDF e ByteRanges PDF exatos com OpenSSL