THPDFCMSVerifyOptions Record
Konfiguruje limity weryfikacji podpisów CMS, zewnętrznych dostawców, przypinanie polityki podpisu i ponowną weryfikację znaczników czasu
Deklaracja
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;
Jednostka
HPDFSignVerify
Pola
| Pole | Przeznaczenie |
|---|---|
SignatureProvider | Opcjonalny zewnętrzny THPDFSignatureProvider używany do prymitywów podpisywania i weryfikacji, nil wybiera wbudowaną implementację |
AllowMLDSA | Zezwala na podpisy ML-DSA podczas weryfikacji |
OpenSSLLibraryPath | Katalog trzymający biblioteki OpenSSL, gdy weryfikacja idzie przez backend OpenSSL |
MaxSignerCount | Górne ograniczenie przetwarzanych podpisujących głównych, Default ustawia 256 |
MaxCounterSignatureDepth | Limit zagnieżdżenia kontrpodpisów, Default ustawia 8 |
RequireSignaturePolicy | Przy True podpisy bez polityki podpisu zawodzą |
ExpectedSignaturePolicyOID | OID polityki, który główny SignerInfo musi przedstawić, pusty nie ogranicza |
ExpectedSignaturePolicyHash | Oczekiwany skrót polityki do przypięcia, pusty nie ogranicza |
SignaturePolicyDocument | Bajty dokumentu polityki używane do porównania haszu |
VerifySignaturePolicyDocumentHash | Przy True haszuje celowo pusty dokument polityki |
RejectUnknownSignaturePolicyHash | Zawala weryfikację, gdy osadzony skrót polityki nie pasuje do żadnej oczekiwanej wartości |
SkipSignatureTimestampVerification | Ufa zapisanemu w cache werdyktowi dla osadzonego tokenu znacznika czasu podpisu podczas walidacji wsadowej |
Default | Class function zwracająca wyzerowany rekord z MaxSignerCount 256 i MaxCounterSignatureDepth 8 |
Uwagi dotyczące użycia
- Zawsze startuj od
THPDFCMSVerifyOptions.Defaultzamiast od wyzerowanej zmiennej lokalnej, żeby limity podpisujących i głębokości faktycznie działały - Pola przypinania polityki dotyczą tylko głównych wartości SignerInfo, puste pola oczekiwane zostawiają odpowiedni test polityki bez ograniczeń
- Walidacja wsadowa ustawia
SkipSignatureTimestampVerification, gdy współdzielony cache znaczników czasu już trzyma werdykt tokenu, znaczniki czasu dokumentu nigdy nie idą tą ścieżką