Informação assinada de revogação em Windows
A operação de assinatura de Windows pode autenticar evidência de CRLs e de OCSP, incluí-la no atributo assinado Adobe RevocationInfoArchival e publicar o PDF apenas depois de validar o CMS realmente gerado e a evidência incorporada
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 por defeito true quando o objeto é fornecido, e evidência desativada não pode conter certificados, respostas OCSP nem CRLs
trustedCAFile identifica explicitamente raízes de confiança PEM e permanece aberto com partilha de escrita negada ao longo da assinatura; a validação não confia silenciosamente num certificado apenas porque o PFX ou a evidência o contém
Arrays de evidência contêm strings Base64 canónicas codificando certificados DER completos, CRLs ou valores OCSPResponse; pelo menos uma CRL ou resposta OCSP é exigida quando enabled
O atributo assinado standard contém valores DER de CRLs e de BasicOCSPResponse; entradas completas de OCSPResponse são normalizadas antes do embedding, e certificados fornecem material adicional de cadeias de validação
HPDFNormalizeHeadlessOCSPResponse em HPDFHeadlessRevocationInfo expõe a conversão delimitada de respostas bem-sucedidas para quem chama a partir de Pascal; ele valida o enquadramento DER e extrai o BasicOCSPResponse, enquanto a validação criptográfica e de estados permanece responsabilidade do verificador de assinaturas ou de LTV
Evidência autenticada
A validação autentica a assinatura CMS real, o binding de certificados de assinatura, a confiança explícita em certificados, a validade de certificados, as assinaturas e intervalos de validade de CRLs, e as assinaturas OCSP, a autorização de respondedores, identificadores de emissores, status de respostas e tempos de atualização
A evidência tem de cobrir a cadeia completa de assinatura não raiz; evidência revogada, desconhecida, expirada, incompleta, não autorizada, não fidedigna ou malformada não pode publicar um PDF
requireTimestamp exige um timestamp real de assinaturas e autentica evidência também para a cadeia TSA dele; use o transport da aplicação e as definições separadas de confiança TSA descritas nos timestamps de assinatura em Windows
clockSkewSeconds aceita 0 a 86400, enquanto maxOCSPAgeSeconds tem de ser positivo; ambos configuram a validação de tempos de evidência em vez de alterar a confiança em certificados
Valores de seeds e publicação
Uma restrição exigida de SV AddRevInfo true exige este workflow validado de evidência assinada; um valor exigido false exige a omissão do atributo
O workflow suporta campos de assinaturas existentes e recém-criados, primeiras assinaturas de certificação, assinaturas de aprovações subsequentes permitidas, fontes encriptadas suportadas e assinatura de documentos não assinados
O ficheiro de confiança e a evidência descodificada partilham um teto de bytes de um oitavo de memoryBytes; contagens de objetos de evidência são limitadas ao menor entre objectCount e 4096 antes da alocação
Base64 canónico, enquadramento DER, orçamentos, cancelamento, integridade CMS e validade de evidência são verificados antes da publicação binária; evidência rejeitada preserva o handle original do documento e não publica bytes PDF nenhum, enquanto callbacks de publicação mantêm a semântica existente deles de falhas de callbacks
Um resultado bem-sucedido reporta revocationInfo: true apenas depois de autenticar o atributo realmente assinado; evidência desativada ou omitida reporta false
Veja HPDFNormalizeHeadlessOCSPResponse para a conversão nativa delimitada de um OCSPResponse completo para BasicOCSPResponse DER
Veja a assinatura PFX incremental para snapshots de fontes, permissões de encriptação, políticas de assinaturas anteriores, orçamentos de saídas e semântica de publicação por callbacks