Informações de revogação assinadas no Windows
A operação sign do Windows pode autenticar evidências de CRL e OCSP, incluí-las no signed attribute RevocationInfoArchival da Adobe, e publicar o PDF somente depois de validar o CMS realmente gerado e as evidências embutidas
Opções de assinatura
{"schemaVersion":1,"type":"sign","incremental":true,
"existingField":true,"fieldName":"ApprovalOne",
"pfxFile":"C:/keys/signer.pfx","pfxPassword":"password",
"cades":true,"digestMethod":"SHA384",
"revocationInfo":{"enabled":true,
"trustedCAFile":"C:/trust/signing-roots.pem",
"certificatesBase64":[],"ocspResponsesBase64":[],
"crlsBase64":["BASE64_DER_CRL"],
"requireTimestamp":false,"clockSkewSeconds":300,
"maxOCSPAgeSeconds":86400}}
revocationInfo é opcional; enabled tem default true quando o objeto é fornecido, e evidências desabilitadas não podem conter certificados, respostas OCSP nem CRLs
trustedCAFile identifica explicitamente trust roots PEM e permanece aberto com compartilhamento de gravação negado durante toda a assinatura; a validação não confia silenciosamente num certificado só porque o PFX ou as evidências o contêm
Arrays de evidências contêm strings canônicas Base64 codificando certificados DER completos, CRLs ou valores OCSPResponse; pelo menos uma CRL ou resposta OCSP é exigida quando habilitado
O atributo assinado padrão contém CRLs DER e valores BasicOCSPResponse; entradas completas de OCSPResponse são normalizadas antes do embutimento, e certificados fornecem material adicional de cadeia de validação
HPDFNormalizeHeadlessOCSPResponse em HPDFHeadlessRevocationInfo expõe a conversão delimitada de respostas bem-sucedidas para chamadores Pascal; ela valida o enquadramento DER e extrai o BasicOCSPResponse, enquanto a validação criptográfica e de status permanece responsabilidade do verifier de assinatura ou LTV
Evidências autenticadas
A validação autentica a assinatura CMS real, o binding signing-certificate, a confiança explícita em certificados, a validade de certificados, assinaturas e intervalos de validade de CRLs, e assinaturas OCSP, autorização de responders, identificadores de issuers, status de respostas e tempos de atualização
As evidências precisam cobrir a cadeia de assinatura completa não raiz; evidências revogadas, desconhecidas, expiradas, incompletas, não autorizadas, não confiáveis ou malformadas não podem publicar um PDF
requireTimestamp exige um timestamp real de assinatura e autentica as evidências da cadeia do TSA também; use o transporte da aplicação e as configurações separadas de confiança do TSA descritas em Timestamps de assinatura no Windows
clockSkewSeconds aceita de 0 a 86400, enquanto maxOCSPAgeSeconds precisa ser positivo; ambos configuram a validação do tempo das evidências, em vez de mudar a confiança em certificados
Valores de seed e publicação
Uma constraint SV AddRevInfo true obrigatória exige este workflow validado de evidências assinadas; um valor required false exige a omissão do atributo
O workflow suporta campos de assinatura existentes e recém-criados, primeiras assinaturas de certificação, assinaturas de aprovação subsequentes permitidas, origens criptografadas suportadas e assinatura de documentos não assinados
O arquivo de confiança e as evidências decodificadas compartilham um teto de bytes de um oitavo de memoryBytes; as contagens de objetos de evidências são limitadas ao menor entre objectCount e 4096 antes da alocação
Base64 canônico, enquadramento DER, orçamentos, cancelamento, integridade do CMS e validade das evidências são checados antes da publicação binária; evidências rejeitadas preservam o handle original do documento e não publicam bytes PDF, enquanto os callbacks de publicação retêm a semântica existente de falhas de callbacks
Um resultado bem-sucedido reporta revocationInfo: true somente depois de autenticar o atributo assinado real; evidências desabilitadas ou omitidas reportam false
Veja HPDFNormalizeHeadlessOCSPResponse para a conversão nativa delimitada de um OCSPResponse completo para BasicOCSPResponse DER
Veja assinatura PFX incremental para snapshots da origem, permissões de criptografia, políticas de assinaturas anteriores, orçamentos de saída e semântica de publicação por callbacks