HPDFSignHeadlessCMS

function HPDFSignHeadlessCMS(Source: TStream;
  const ByteRange: array of Int64;
  const CertificatePEM, PrivateKeyPEM: SysUtils.TBytes;
  const Options: THPDFHeadlessCMSOptions): SysUtils.TBytes;

Funkce podepíše deklarované rozsahy zdroje explicitním PEM certifikátem a nešifrovaným PEM privátním klíčem přes OpenSSL 3, vrátí DER CMS SignedData s detached obsahem a obnoví pozici ve zdroji vlastněném volajícím

Zdroj se čte inkrementálně přes stejné ohraničené BIO, jaké používá verifikátor; PEM vstup i vygenerovaný DER se musí vejít do MaxCMSBytes a podepsané rozsahy do MaxSignedBytes

RequireCAdES přidá atribut ESS signing-certificate při generování CMS; když požadujete CAdES verifikaci, validujte výsledek proti explicitnímu souboru důvěryhodných CA

Privátní klíče zůstávají bajtovými poli vlastněnými volajícím; OpenSSL objekt klíče se po podepsání uvolní a funkce nikdy nevyzvuje k zadání hesla klíče

Šifrované PEM klíče, neshoda certifikátu a klíče, neplatné rozsahy, zrušení, chyby runtime i selhání výstupního limitu vyhazují EHPDFHeadlessCMSError

Tento primitiv generuje jen CMS; nevytváří PDF pole podpisu, nerezervuje místo pro PDF Contents, nepublikuje podepsané PDF ani nekontaktuje timestamp či revokační službu