HPDFSignHeadlessCMS

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

Die Funktion signiert die deklarierten Source-Bereiche mit einem expliziten PEM-Zertifikat und unverschlüsseltem PEM-Privatschlüssel über OpenSSL 3, liefert DER-CMS-SignedData mit detached Content und stellt die Position der Aufrufer-Source wieder her

Die Source wird inkrementell über dieselbe begrenzte BIO gelesen, die auch der Verifizierer nutzt; PEM-Eingabe und erzeugtes DER müssen in MaxCMSBytes passen, die signierten Bereiche in MaxSignedBytes

RequireCAdES ergänzt das ESS-Signaturzertifikat-Attribut während der CMS-Erzeugung; validiere das Ergebnis mit einer expliziten vertrauenswürdigen CA-Datei, wenn CAdES-Verifikation verlangt wird

Private Schlüssel bleiben Byte-Arrays im Aufruferbesitz; das OpenSSL-Schlüsselobjekt wird nach dem Signieren freigegeben, und die Funktion fragt nie nach einem Schlüsselpasswort

Verschlüsselte PEM-Schlüssel, Zertifikats-/Schlüssel-Unstimmigkeiten, ungültige Bereiche, Abbruch, Runtime-Fehler und Ausgabelimit-Fehler lösen EHPDFHeadlessCMSError aus

Dieses Primitiv erzeugt nur CMS; es legt kein PDF-Signaturfeld an, reserviert keinen PDF-Contents-Platz, veröffentlicht kein signiertes PDF und kontaktiert keinen Timestamp- oder Revocation-Dienst