HPDFSignHeadlessCMS
function HPDFSignHeadlessCMS(Source: TStream; const ByteRange: array of Int64; const CertificatePEM, PrivateKeyPEM: SysUtils.TBytes; const Options: THPDFHeadlessCMSOptions): SysUtils.TBytes;
La fonction signe les plages de source déclarées avec un certificat PEM explicite et une clé privée PEM non chiffrée via OpenSSL 3, renvoie un CMS SignedData DER au contenu detached et restaure la position du source possédé par l'appelant
La source est lue de façon incrémentale via la même BIO bornée que celle du vérifieur ; l'entrée PEM et le DER généré doivent tenir dans MaxCMSBytes, et les plages signées dans MaxSignedBytes
RequireCAdES ajoute l'attribut ESS de certificat de signature pendant la génération du CMS ; validez le résultat avec un fichier de CA de confiance explicite quand vous exigez une vérification CAdES
Les clés privées restent des tableaux d'octets possédés par l'appelant ; l'objet de clé OpenSSL est libéré après la signature, et la fonction ne demande jamais de mot de passe de clé
Clés PEM chiffrées, incohérences certificat/clé, plages invalides, annulation, erreurs de runtime et échecs de limites de sortie lèvent EHPDFHeadlessCMSError
Cette primitive ne génère que du CMS ; elle ne crée pas de champ de signature PDF, ne réserve pas d'espace Contents PDF, ne publie pas de PDF signé et ne contacte pas de service d'horodatage ou de révocation