Restricciones de seed de firmas headless
SignToFile y SignPFXToFile resuelven el diccionario SV del campo de firma a través de su cadena de padres y validan los valores de seed obligatorios antes de publicar la salida firmada
El perfil de firma respeta el manejo obligatorio de Adobe.PPKLite, el encoding adbe.pkcs7.detached o ETSI.CAdES.detached, las versiones de capability de seed 1 a 3, la selección SHA256/SHA384/SHA512, las razones de firma, los valores MDP de aprobación frente a certificación y los timestamps RFC 3161 autenticados
Establece THPDFHeadlessCMSOptions.DigestMethod y Reason para seleccionar el digest CMS real correspondiente y la entrada Reason de la firma; una lista de razones obligatoria de un solo período suprime la entrada Reason
Un valor LockDocument true obligatorio escribe una transformación FieldMDP All efectiva; un valor false obligatorio rechaza un lock de todos los campos en conflicto
Las restricciones de seed de LegalAttestation se aplican a las firmas de certificación; LegalAttestation selecciona una aclaración Unicode permitida para el diccionario estándar Catalog Legal/Attestation, preservando los detalles de contenido legal existentes
Las firmas de aprobación ignoran las restricciones de seed de LegalAttestation exclusivas de certificación; suministrar una aclaración legal con una petición de aprobación se rechaza
Restricciones de certificados
HPDFReadHeadlessCertificatePolicy lee el modelo SVCert, y HPDFValidateHeadlessCertificatePolicy lo evalúa contra el certificado hoja real y los certificados PEM intermedios
| Restricción | Comportamiento obligatorio |
|---|---|
| Subject | La hoja coincide con un certificado DER completo |
| Issuer | Una cadena directa o indirecta criptográficamente válida y actualmente vigente alcanza un issuer permitido; un intermedio permitido puede terminar la cadena |
| OID | Cada OID de política configurada aparece en la extensión de políticas del certificado hoja; esta restricción se aplica cuando se suministra Issuer |
| SubjectDN | Una alternativa contiene atributos que coinciden con el subject de la hoja; se permiten atributos adicionales de la hoja, con comparación canónica X.509 y soporte Unicode |
| KeyUsage | Una extensión existente coincide con un patrón aceptable de nueve posiciones; 0 exige un bit sin establecer, 1 exige un bit establecido, y los demás caracteres o los ausentes son wildcards |
| URL | CredentialSourceURL iguala la URL de enrollment configurada cuando es obligatoria |
El matching de restricciones de certificados usa los issuers de la seed como restricciones explícitas de enrollment; la confianza CMS ordinaria de negocio sigue controlándose por separado mediante TrustedCAFile
CredentialSourceURL es la procedencia suministrada por la aplicación que obtuvo la identidad de firma; la librería no realiza peticiones de red de enrollment y no puede derivar esa procedencia de los bytes X.509
TimestampServerURL identifica el endpoint enrutado por Timestamp.Transport; los timestamps obligatorios pasan además una validación real de huella, nonce, certificado TSA y confianza
Límites
Un AddRevInfo true obligatorio exige UseAdobeRevocationInfo con evidencia autenticada y un fichero de CA confiable explícito; un false obligatorio rechaza ese perfil, y los valores opcionales no invalidan el perfil seleccionado
El atributo Adobe contiene CRLs y valores BasicOCSPResponse como atributos firmados; todas las cadenas de signers y de TSAs incluidas deben tener cobertura de revocación autenticada actualmente vigente antes de publicar la salida
Un AppearanceFilter obligatorio no vacío debe coincidir con el perfil incluido realmente seleccionado por SetSignatureFieldAppearance en la instancia actual del documento; los metadatos de perfil desconocidos, reemplazados o simplemente recargados no satisfacen la restricción
Los diccionarios mal formados, las claves semánticas duplicadas, el DER o PEM mal formado, los flags reservados de certificados, las restricciones fuera de presupuesto y la cancelación producen fallos sin reemplazar una salida existente
Las opciones independientes de política de certificados acotan los bytes totales de certificados, los bytes agregados de restricciones, las entradas y los certificados de cadena; el resultado separa los flags provided y matched de Accepted