HPDFVerifyHeadlessCMS
HPDFHeadlessCMS, ayrık CMS imzalarını, çağırana ait bir TStream'e karşı OpenSSL 3 ve paylaşılan imza ByteRange validator'ı kullanarak doğrular
function HPDFVerifyHeadlessCMS(Source: TStream; const ByteRange: array of Int64; const CMSDER: SysUtils.TBytes; const Options: THPDFHeadlessCMSOptions): THPDFHeadlessCMSResult;
İki-öğeli bir aralık eksiksiz stream'i kapsamalıdır; dört-öğeli aralık sıfırdan başlar ve tek boş olmayan aralığı dışlar; sıralı, sınırlı çiftler ve taşma-güvenli aritmetikle
CMS, ayrık içerik ve en az bir imzalayan içermelidir; verifier, içerik digest'ini, imzalı öznitelikleri ve her imzalayanı tüm-kaynak toplaması olmadan kimlikler, sondaki sıfır padding'i kabul eder ve sıfır olmayan sondaki CMS verisini reddeder
Kaynak sahipliği çağırandadır, konumu geri yüklenir ve çağıran, doğrulama sırasında münhasır serbest erişim sağlamalıdır
SignatureValid, kriptografik bütünlüğü tanımlar; sertifika trust'i, yalnızca TrustedCAFile açık PEM trust çapaları sağladığında ayrıca değerlendirilir
RequireCAdES, kimlikli bir ESS v1 veya v2 signing-certificate bağı gerektirir; onun sertifika hash'i ve isteğe bağlı issuer ve seri numarası, sertifika trust'inden bağımsız olarak gerçek imzalayanı tanımlamalıdır
Mevcut ESS öznitelikleri, RequireCAdES false olsa bile denetlenir; yinelenen öznitelikler, çoklu değerler, hatalı diziler ve sondaki ASN.1 baytları reddedilirken açık trust çapaları ayrı bir sertifika-zinciri doğrulama turunu sağlar
Fonksiyon sayısal aralıkları doğrular ama bir dışlanan boşluğu bir PDF Contents token'ına bağlamaz; belge-düzeyi o denetim için THPDFHeadlessDocument.VerifySignature'ı kullanın
Yükleyici, HOTPDF_OPENSSL_LIBRARY ayarlıysa onu; aksi hâlde Linux'ta libcrypto.so.3'ü veya Windows'ta libcrypto-3.dll'i kullanır; runtime kütüphanesi process mimarisiyle eşleşmelidir ve başarıyla yüklenen ilk kütüphane, birim kesinleşmesine kadar aktif kalır
Hatalı CMS, bütçeler, eksik runtime sembolleri, kaynak-okuma hataları ve cancellation EHPDFHeadlessCMSError fırlatır; geçersiz imzalar ve güvenilmeyen sertifika zincirleri, OpenSSL ayrıntılarıyla açık false sonuç alanları döndürür
Bu fonksiyon revocation kanıtını, trust çapalarını, timestamp'leri veya uzak sertifika verisini getirmez ve tarihsel bir imzalama zamanı kurmaz