HPDFSignHeadlessCMS

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

関数は、明示的な PEM 証明書と暗号化されていない PEM 秘密鍵で OpenSSL 3 を使い、宣言されたソース範囲に署名し、detached コンテンツ付きの DER CMS SignedData を返して、呼び出し元所有のソース位置を復元します

ソースは検証器が使うのと同じ上限付き BIO で漸進的に読み取られます。PEM 入力と生成された DER は MaxCMSBytes に、署名対象範囲は MaxSignedBytes に収まらなければなりません

RequireCAdES は CMS 生成時に ESS signing-certificate 属性を追加します。CAdES 検証を要求する場合は、明示的な信頼済み CA ファイルで結果を検証してください

秘密鍵は呼び出し元所有のバイト配列のままです。OpenSSL キーオブジェクトは署名後に解放され、関数がキーのパスワードを尋ねることはありません

暗号化された PEM 鍵、証明書/鍵の不一致、無効な範囲、キャンセル、ランタイムエラー、出力上限の失敗は EHPDFHeadlessCMSError を発生させます

このプリミティブは CMS の生成だけを行います。PDF 署名フィールドの作成、PDF Contents スペースの予約、署名済み PDF の公開、タイムスタンプや失効サービスへの接続は行いません