HPDFSignHeadlessCMS

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

La función firma los rangos de la fuente declarados con un certificado PEM explícito y una clave privada PEM sin cifrar usando OpenSSL 3, devuelve SignedData CMS DER con contenido detached y restaura la posición de la fuente propiedad del llamador

La fuente se lee incrementalmente a través del mismo BIO acotado que usa el verificador; la entrada PEM y el DER generado deben caber en MaxCMSBytes, y los rangos firmados deben caber en MaxSignedBytes

RequireCAdES agrega el atributo ESS de certificado de firma durante la generación del CMS; valida el resultado con un archivo de CA confiable explícito cuando exijas verificación CAdES

Las claves privadas siguen siendo arreglos de bytes propiedad del llamador; el objeto de clave de OpenSSL se libera después de firmar, y la función nunca pide un password de clave

Claves PEM cifradas, desajustes certificado/clave, rangos inválidos, cancelación, errores de runtime y fallos de límites de salida lanzan EHPDFHeadlessCMSError

Esta primitiva solo genera CMS; no crea un campo de firma PDF, no reserva espacio de Contents del PDF, no publica un PDF firmado ni contacta un servicio de timestamp o revocación