Native Linux Signing Workflows

Wersjonowane ABI callbacków wykonuje zadania sign schemaVersion 1 względem załadowanych dokumentów albo jawnych callbacków wejścia; oryginalne rewizje źródła, identyfikatory dokumentu i uwierzytelnione polityki AES-256 R5/R6 są zachowywane

Signing identity

Dostarcz certificatePEM i privateKeyPEM, albo dostarcz kanonicznie wypełniony pfxBase64 i pfxPassword; mieszanie tych form tożsamości jest niepoprawne

password uwierzytelnia jawne wejście PDF; załadowany kontekst zachowuje swoje hasło PDF, a odrębne hasło PFX uwierzytelnia kontener podpisu

Dekodowanie PFX sprawdza alfabet, padding i nieużywane bity, zanim OpenSSL sparsuje ograniczony kontener; prywatne bufory tożsamości są czyszczone po operacji

Signature fields and appearance

field wybiera istniejące niepodpisane pole podpisu; ustaw createField: true, aby utworzyć nowe w pełni kwalifikowane pole na stronie page opartej na zerze

Współrzędne nowego pola używają przestrzeni użytkownika PDF: left, bottom, right i top defaultowo 36, 36, 240 i 108; istniejącej nazwy nie można odtworzyć

Opcjonalny caption generuje jawny wygląd Unicode z osadzonym fontem TrueType, mapowaniem ToUnicode i natywnym shapingiem złożonych skryptów; fontFamily defaultowo DejaVu Sans, a fontSize 12

Profile and certification

cades wybiera ETSI.CAdES.detached; trustedCAFile dostarcza jawną politykę CA dla weryfikacji zaufania w momencie podpisywania, a reservedCMSBytes defaultowo 16384

certificationPermission to 0 dla podpisu zatwierdzenia albo 1, 2 albo 3 dla pierwszego podpisu certyfikacyjnego dokumentu; writer tworzy pasującą transformację DocMDP i powiązanie uprawnień katalogu

Ograniczenia uprawnień hasłem użytkownika, pola read-only, istniejące podpisy i ograniczenia certyfikacji pozostają wymuszane przez natywną politykę podpisywania dokumentu

Transactional publication

Przenośne API Pascal TimestampToFile tworzy niezależny DocTimeStamp z ETSI.RFC3161 nad ByteRange PDF, łącznie z deklaracją ESIC, jawnym zaufaniem TSA i polityką CRL oraz uwierzytelnionym wyjątkiem znaczników czasu DocMDP/FieldMDP

To wejście znacznika czasu dokumentu jest API Pascal; ABI timestamp callback poniżej dostarcza znaczniki czasu podpisów dla istniejących zadań podpisywania

Rozszerzony transport znaczników czasu ABI dostarcza rzeczywiste odpowiedzi RFC 3161 przez synchroniczny callback wywołującego z ograniczonymi bajtami odpowiedzi, współdzielonym anulowaniem i jawną polityką zaufania/revokacji TSA

Callbacki wyjścia i wyniku otrzymują w pełni przygotowany podpis; przed publikacją callbackową ABI przeładowuje kandydata, aby zwalidować kontekst podpisanego dokumentu

Wyłącznie udana publikacja zastępuje załadowany kontekst; niepoprawne tożsamości, tworzenie pól, budżety, anulowanie albo awaria callbacków zachowują poprzedni dokument i jego drzewo pól

Callbacki wyjścia należą do wywołującego i mogły już skonsumować bajty, gdy późniejszy callback zawiedzie; wywołujący wymagający zewnętrznego rollbacku muszą sami przygotować te bajty

Acceptance

Linux FPC 3.2.2 i 3.3.1 każdy przechodzi 270 rzeczywistych asercji ctypes, 228 niezależnych sprawdzeń PDF/obrazów/bezpieczeństwa/CMS, 33 asercji C ABI i 80 współbieżnych operacji współdzielonego handle

Niezależne sprawdzenia uwierzytelniają ID/polityki bezpieczeństwa AES, walidują CMS i CAdES OpenSSL-em, odrzucają podmienioną zawartość, przeglądają transformacje certyfikacji i osadzone fonty wyglądów oraz weryfikują rzeczywiste widoczne piksele podpisów

Native C ABI · Podpisywanie PFX Pascal · Transport znaczników czasu Pascal