THPDFCMSVerifyOptions Kaydı
CMS imza doğrulama sınırlarını, harici sağlayıcıları, imza-politikası sabitlemeyi ve timestamp yeniden doğrulamayı yapılandırır
Bildirim
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;
Birim
HPDFSignVerify
Alanlar
| Alan | Amaç |
|---|---|
SignatureProvider | İmzalama ve doğrulama primitive'leri için kullanılan isteğe bağlı harici THPDFSignatureProvider; nil yerleşik uygulamayı seçer |
AllowMLDSA | Doğrulama sırasında ML-DSA imzalarına izin verir |
OpenSSLLibraryPath | Doğrulama OpenSSL backend'i üzerinden gittiğinde OpenSSL kütüphanelerini barındıran dizin |
MaxSignerCount | İşlenen birincil imzalayıcıların üst sınırı; Default değeri 256 ayarlar |
MaxCounterSignatureDepth | Counter-signature'lar için iç içe geçme sınırı; Default değeri 8 ayarlar |
RequireSignaturePolicy | True olduğunda, imza politikası olmayan imzalar başarısız olur |
ExpectedSignaturePolicyOID | Birincil bir SignerInfo'nun sunması gereken politika OID'si; boş değer kısıtlamaz |
ExpectedSignaturePolicyHash | Sabitlenecek beklenen politika özeti; boş değer kısıtlamaz |
SignaturePolicyDocument | Hash karşılaştırması için kullanılan politika belgesi baytları |
VerifySignaturePolicyDocumentHash | True olduğunda kasıtlı olarak boş bir politika belgesini hash'ler |
RejectUnknownSignaturePolicyHash | Gömülü politika hash'i hiçbir beklenen değerle eşleşmediğinde doğrulamayı başarısız kılar |
SkipSignatureTimestampVerification | Toplu doğrulama sırasında gömülü imza timestamp token'ı için önbellekteki karara güvenir |
Default | MaxSignerCount değeri 256 ve MaxCounterSignatureDepth değeri 8 olan sıfırlanmış bir kayıt döndüren class function |
Kullanım notları
- İmzalayıcı ve derinlik sınırlarının gerçekten uygulanması için sıfırlanmış bir yerel değişken yerine her zaman
THPDFCMSVerifyOptions.Defaultdeğerinden başlayın - Politika sabitleme alanları yalnızca birincil SignerInfo değerlerine uygulanır; boş beklenen alanlar ilgili politika kontrolünü kısıtsız bırakır
- Toplu doğrulama, paylaşılan timestamp önbelleği token kararını çoktan tutuyorsa
SkipSignatureTimestampVerificationdeğerini ayarlar; belge timestamp'leri asla o yolu izlemez