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