Record THPDFCMSVerifyOptions
Configura límites de verificación de firmas CMS, proveedores externos, fijado de políticas de firma y reverificación de timestamps
Declaración
THPDFCMSVerifyOptions= record
SignatureProvider: THPDFSignatureProvider;
AllowMLDSA: boolean;
OpenSSLLibraryPath: string;
MaxSignerCount: Integer;
MaxCounterSignatureDepth: Integer;
// Policy pinning is applied to primary SignerInfo values. Empty
// expected fields do not constrain the corresponding policy field
RequireSignaturePolicy: boolean;
ExpectedSignaturePolicyOID: AnsiString;
ExpectedSignaturePolicyHash: TBytes;
SignaturePolicyDocument: TBytes;
// Set this flag to hash an intentionally empty policy document
VerifySignaturePolicyDocumentHash: boolean;
RejectUnknownSignaturePolicyHash: boolean;
// Batch validation sets this when a shared timestamp cache already
// holds the verdict for the embedded signature timestamp token: token
// re-verification is skipped and the caller restores the cached
// THPDFTimestampInfo afterwards. Document timestamps (ETSI.RFC3161)
// never take this path because the token is the primary signature
SkipSignatureTimestampVerification: boolean;
class function Default: THPDFCMSVerifyOptions; static;
end;
Unidad
HPDFSignVerify
Campos
| Campo | Propósito |
|---|---|
SignatureProvider | THPDFSignatureProvider externo opcional para las primitivas de firma y verificación; nil selecciona la implementación integrada |
AllowMLDSA | Permite firmas ML-DSA durante la verificación |
OpenSSLLibraryPath | Directorio que contiene las librerías de OpenSSL cuando la verificación va por el backend de OpenSSL |
MaxSignerCount | Límite superior de firmantes primarios procesados; Default fija 256 |
MaxCounterSignatureDepth | Límite de anidamiento para counter-signatures; Default fija 8 |
RequireSignaturePolicy | Cuando es True, las firmas sin política de firma fallan |
ExpectedSignaturePolicyOID | OID de política que un SignerInfo primario debe presentar; vacío no restringe |
ExpectedSignaturePolicyHash | Digest de política esperado a fijar; vacío no restringe |
SignaturePolicyDocument | Bytes del documento de política usados para la comparación de hash |
VerifySignaturePolicyDocumentHash | Hashea un documento de política vacío a propósito cuando es True |
RejectUnknownSignaturePolicyHash | Falla la verificación cuando el hash de la política embebida no coincide con ningún valor esperado |
SkipSignatureTimestampVerification | Confía en un veredicto cacheado para el token de timestamp de la firma embebida durante la validación por lotes |
Default | Class function que devuelve un record a cero con MaxSignerCount 256 y MaxCounterSignatureDepth 8 |
Notas de uso
- Parta siempre de
THPDFCMSVerifyOptions.Defaulty no de un local a cero, para que los límites de firmantes y de profundidad se apliquen de verdad - Los campos de fijado de política aplican solo a los SignerInfo primarios; los campos esperados vacíos dejan la comprobación de política correspondiente sin restringir
- La validación por lotes fija
SkipSignatureTimestampVerificationcuando una caché de timestamps compartida ya tiene el veredicto del token; los timestamps de documento nunca toman ese camino