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