Záznam THPDFCMSVerifyOptions
Nastavuje limity ověřování podpisů CMS, externí poskytovatele, připnutí podpisové politiky a opětovné ověření časového razítka
Deklarace
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;
Jednotka
HPDFSignVerify
Pole
| Pole | Účel |
|---|---|
SignatureProvider | Volitelný externí THPDFSignatureProvider používaný pro primitivy podepisování a ověřování; nil vybere vestavěnou implementaci |
AllowMLDSA | Povoluje podpisy ML-DSA během ověřování |
OpenSSLLibraryPath | Adresář s knihovnami OpenSSL, když ověřování jde přes backend OpenSSL |
MaxSignerCount | Horní mez zpracovaných primárních podepisujících; Default nastavuje 256 |
MaxCounterSignatureDepth | Limit zanoření protipodpisů; Default nastavuje 8 |
RequireSignaturePolicy | Pokud True, podpisy bez podpisové politiky selžou |
ExpectedSignaturePolicyOID | OID politiky, který musí primární SignerInfo předložit; prázdný neomezuje |
ExpectedSignaturePolicyHash | Očekávaný digest politiky k připnutí; prázdný neomezuje |
SignaturePolicyDocument | Bajty dokumentu politiky použité pro porovnání hashe |
VerifySignaturePolicyDocumentHash | Pokud True, hashuje se i záměrně prázdný dokument politiky |
RejectUnknownSignaturePolicyHash | Způsobí selhání ověření, když vložený hash politiky neodpovídá žádné očekávané hodnotě |
SkipSignatureTimestampVerification | Důvěřuje uloženému výsledku pro vložený token časového razítka podpisu během dávkového ověřování |
Default | Třídní funkce vracející vynulovaný záznam s MaxSignerCount 256 a MaxCounterSignatureDepth 8 |
Poznámky k použití
- Vždy začínejte od
THPDFCMSVerifyOptions.Default, ne od vynulované lokální proměnné, aby se limity podepisujících a hloubky skutečně aplikovaly - Pole pro připnutí politiky se vztahují jen na primární SignerInfo; prázdná očekávaná pole nechají odpovídající kontrolu politiky bez omezení
- Dávkové ověřování nastaví
SkipSignatureTimestampVerification, když sdílená mezipaměť časových razítek už výsledek tokenu drží; časová razítka dokumentu touto cestou nikdy neprocházejí