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