THPDFCMSVerifyOptions Record
Konfigurerar gränser för CMS-signaturverifiering, externa leverantörer, fästning av signaturpolicy och omverifiering av tidsstämplar
Deklaration
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;
Enhet
HPDFSignVerify
Fält
| Fält | Syfte |
|---|---|
SignatureProvider | Valfri extern THPDFSignatureProvider som används för sign- och verify-primitiver; nil väljer den inbyggda implementationen |
AllowMLDSA | Tillåter ML-DSA-signaturer under verifieringen |
OpenSSLLibraryPath | Katalog som innehåller OpenSSL-biblioteken när verifieringen går via OpenSSL-backend |
MaxSignerCount | Övre gräns för antal behandlade primära undertecknare; Default sätter 256 |
MaxCounterSignatureDepth | Nästlingsgräns för kontrasignaturer; Default sätter 8 |
RequireSignaturePolicy | När True misslyckas signaturer utan signaturpolicy |
ExpectedSignaturePolicyOID | Policy-OID som en primär SignerInfo måste uppvisa; tom begränsar inte |
ExpectedSignaturePolicyHash | Förväntad policy-digest att fästa; tom begränsar inte |
SignaturePolicyDocument | Policydokumentbyte som används för hashjämförelse |
VerifySignaturePolicyDocumentHash | Hasha ett medvetet tomt policydokument när True |
RejectUnknownSignaturePolicyHash | Misslyckas verifieringen när den inbäddade policy-hashen inte matchar något förväntat värde |
SkipSignatureTimestampVerification | Litar på en cachad bedömning för den inbäddade signaturtidsstämpeltoken under batchvalidering |
Default | Klassfunktion som returnerar en nollställd record med MaxSignerCount 256 och MaxCounterSignatureDepth 8 |
Användningsanteckningar
- Utgå alltid från
THPDFCMSVerifyOptions.Defaulti stället för en nollställd lokal variabel, så att undertecknar- och djupgränserna faktiskt tillämpas - Fälten för policyfästning gäller bara primära SignerInfo-värden; tomma förväntansfält lämnar motsvarande policykontroll obegränsad
- Batchvalidering sätter
SkipSignatureTimestampVerificationnär ett delat tidsstämpelcache redan har tokenbedömningen; dokumenttidsstämplar tar aldrig den vägen