Información de revocación firmada en Windows
La operación de firma de Windows puede autenticar evidencia CRL y OCSP, incluirla en el atributo firmado Adobe RevocationInfoArchival y publicar el PDF solo después de validar el CMS generado real y la evidencia embebida
Opciones de firma
{"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 es opcional; enabled toma por defecto true cuando se suministra el objeto, y la evidencia desactivada no puede contener certificados, respuestas OCSP ni CRLs
trustedCAFile identifica explícitamente las raíces de confianza PEM y permanece abierto con escritura compartida denegada durante toda la firma; la validación no confía silenciosamente en un certificado solo porque el PFX o la evidencia lo contenga
Los arrays de evidencia contienen cadenas Base64 canónicas que codifican certificados DER completos, CRLs u OCSPResponse; se exige al menos una CRL o respuesta OCSP cuando enabled
El atributo firmado estándar contiene CRLs DER y valores BasicOCSPResponse; las entradas OCSPResponse completas se normalizan antes del embebido, y los certificados suministran material adicional de cadena de validación
HPDFNormalizeHeadlessOCSPResponse en HPDFHeadlessRevocationInfo expone la conversión acotada de respuestas correctas para llamadores Pascal; valida el framing DER y extrae el BasicOCSPResponse, mientras que la validación criptográfica y de estado sigue siendo responsabilidad del verificador de firma o LTV
Evidencia autenticada
La validación autentica la firma CMS real, el binding del certificado de firma, la confianza explícita en certificados, la validez de certificados, las firmas e intervalos de validez de CRLs, y las firmas OCSP, la autorización del responder, los identificadores de issuer, el estado de la respuesta y los tiempos de actualización
La evidencia debe cubrir la cadena de firma completa no raíz; una evidencia revocada, desconocida, caducada, incompleta, no autorizada, no confiable o mal formada no puede publicar un PDF
requireTimestamp exige un timestamp de firma real y autentica la evidencia también para su cadena TSA; usa el transporte de la aplicación y los ajustes de confianza TSA separados descritos en Windows signing timestamps
clockSkewSeconds acepta de 0 a 86400, mientras que maxOCSPAgeSeconds debe ser positivo; ambos configuran la validación temporal de la evidencia sin cambiar la confianza en certificados
Valores de seed y publicación
Una restricción obligatoria SV AddRevInfo true exige este workflow de evidencia firmada validada; un valor false obligatorio exige la omisión del atributo
El workflow soporta campos de firma existentes y recién creados, primeras firmas de certificación, firmas de aprobación permitidas posteriores, fuentes cifradas soportadas y firma de documentos sin firmar
El fichero de confianza y la evidencia decodificada comparten un tope de bytes de un octavo de memoryBytes; los recuentos de objetos de evidencia se limitan al menor entre objectCount y 4096 antes de la asignación
Base64 canónico, framing DER, presupuestos, cancelación, integridad CMS y validez de evidencia se comprueban antes de la publicación binaria; la evidencia rechazada preserva el handle original del documento y no publica bytes de PDF, mientras que los callbacks de publicación conservan la semántica de fallo de callbacks existente
Un resultado correcto informa revocationInfo: true solo después de autenticar el atributo firmado real; la evidencia desactivada u omitida informa false
Consulta HPDFNormalizeHeadlessOCSPResponse para la conversión nativa acotada de un OCSPResponse completo a DER BasicOCSPResponse
Consulta incremental PFX signing para los snapshots de origen, permisos de cifrado, políticas de firmas previas, presupuestos de salida y semántica de publicación por callbacks