THPDFCMSVerifyOptions Record
Configureert limieten voor CMS-handtekeningverificatie, externe providers, signature-policy-pinning en herverificatie van timestamps
Declaratie
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;
Eenheid
HPDFSignVerify
Velden
| Veld | Doel |
|---|---|
SignatureProvider | Optionele externe THPDFSignatureProvider voor sign- en verify-primitieven; nil kiest de ingebouwde implementatie |
AllowMLDSA | Staat ML-DSA-handtekeningen toe tijdens verificatie |
OpenSSLLibraryPath | Map met de OpenSSL-bibliotheken wanneer verificatie via de OpenSSL-backend loopt |
MaxSignerCount | Bovengrens voor het aantal verwerkte primaire ondertekenaars; Default stelt 256 in |
MaxCounterSignatureDepth | Nestingslimiet voor counter-signatures; Default stelt 8 in |
RequireSignaturePolicy | Bij True falen handtekeningen zonder signature policy |
ExpectedSignaturePolicyOID | Policy-OID die een primaire SignerInfo moet tonen; leeg beperkt niet |
ExpectedSignaturePolicyHash | Verwachte policy-digest om vast te pinnen; leeg beperkt niet |
SignaturePolicyDocument | Policydocumentbytes die voor de hashvergelijking worden gebruikt |
VerifySignaturePolicyDocumentHash | Hash een opzettelijk leeg policydocument wanneer True |
RejectUnknownSignaturePolicyHash | Laat de verificatie falen wanneer de ingebedde policy-hash met geen enkele verwachte waarde overeenkomt |
SkipSignatureTimestampVerification | Vertrouwt tijdens batchvalidatie een gecached oordeel voor het ingebedde signature-timestamp-token |
Default | Klassefunctie die een op nul gezet record retourneert met MaxSignerCount 256 en MaxCounterSignatureDepth 8 |
Gebruiksopmerkingen
- Begin altijd bij
THPDFCMSVerifyOptions.Defaultin plaats van een lokaal record op nul, zodat de signer- en dieptelimieten werkelijk worden toegepast - Policy-pinning-velden gelden alleen voor primaire SignerInfo-waarden; lege verwachte velden laten de bijbehorende beleidscontrole onbeperkt
- Batchvalidatie zet
SkipSignatureTimestampVerificationwanneer een gedeelde timestamp-cache het tokenoordeel al bevat; documenttimestamps nemen dat pad nooit