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