HPDFSignHeadlessCMS

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

Funkcja podpisuje zadeklarowane zakresy źródła jawnym certyfikatem PEM i niezaszyfrowanym kluczem prywatnym PEM przy użyciu OpenSSL 3, zwraca DER CMS SignedData z zawartością detached i przywraca pozycję źródła należącego do wywołującego

Źródło jest czytane przyrostowo przez ten sam ograniczony BIO, którego używa weryfikator; wejście PEM i wygenerowany DER muszą mieścić się w MaxCMSBytes, a podpisane zakresy w MaxSignedBytes

RequireCAdES dodaje atrybut certyfikatu podpisującego ESS podczas generowania CMS; zweryfikuj wynik jawnym plikiem zaufanych CA, gdy wymagasz weryfikacji CAdES

Klucze prywatne pozostają bajtowymi tablicami wywołującego; obiekt klucza OpenSSL jest zwalniany po podpisaniu, a funkcja nigdy nie pyta o hasło klucza

Zaszyfrowane klucze PEM, niezgodność certyfikatu i klucza, niepoprawne zakresy, anulowanie, błędy runtime i przekroczenia limitu wyjścia podnoszą EHPDFHeadlessCMSError

Ta prymitywa generuje wyłącznie CMS; nie tworzy pola podpisu PDF, nie rezerwuje miejsca Contents w PDF, nie publikuje podpisanego PDF-a i nie kontaktuje usługi znaczników czasu ani revokacji