Сценарии подписания в нативном Linux

Версионированный колбэк-ABI выполняет задания sign со schemaVersion 1 над загруженными документами или явными input-колбэками; исходные ревизии источника, идентификаторы документов и аутентифицированные политики AES-256 R5/R6 сохраняются

Идентичность подписания

Передайте certificatePEM и privateKeyPEM или канонический дополненный pfxBase64 и pfxPassword; смешивать эти формы идентичности нельзя

password аутентифицирует явный PDF-ввод; загруженный контекст удерживает свой PDF-пароль, а отдельный пароль PFX аутентифицирует контейнер подписания

Декодирование PFX проверяет алфавит, дополнение и неиспользуемые биты до разбора ограниченного контейнера OpenSSL; приватные буферы идентичности очищаются после операции

Поля подписи и appearance

field выбирает существующее неподписанное поле подписи; установите createField: true, чтобы создать новое полное имя поля на page с нулевым индексом

Координаты нового поля — пользовательское пространство PDF: left, bottom, right и top по умолчанию равны 36, 36, 240 и 108; существующее имя нельзя создать заново

Необязательный caption генерирует явный Unicode-appearance со встроенным шрифтом TrueType, отображением ToUnicode и нативным шейпингом сложных письменностей; fontFamily по умолчанию DejaVu Sans, а fontSize — 12

Профиль и сертификация

cades выбирает ETSI.CAdES.detached; trustedCAFile поставляет явную политику CA для проверки доверия в момент подписания, а reservedCMSBytes по умолчанию 16384

certificationPermission равен 0 для подписи утверждения или 1, 2 или 3 для первой сертификационной подписи документа; райтер создаёт соответствующий transform DocMDP и привязку прав каталога

Ограничения прав по пользовательскому паролю, поля только для чтения, существующие подписи и ограничения сертификации остаются в силе согласно нативной политике подписания документа

Транзакционная публикация

Переносимый Pascal-API TimestampToFile создаёт независимую DocTimeStamp с ETSI.RFC3161 поверх ByteRange PDF, включая объявление ESIC, явное доверие TSA и политику CRL и аутентифицированное исключение метки времени DocMDP/FieldMDP

Эта точка входа метки времени документа — Pascal-API; колбэк метки времени ABI ниже поставляет метки времени подписи для существующих заданий sign

Расширенный транспорт меток времени ABI поставляет фактические ответы RFC 3161 через синхронный принадлежащий вызывающему колбэк с ограниченными байтами ответа, общей отменой и явной политикой доверия/отзыва TSA

Output- и result-колбэки получают полностью подготовленную подпись; до публикации колбэками ABI перезагружает кандидата, чтобы валидировать контекст подписанного документа

Только успешная публикация заменяет загруженный контекст; недопустимые идентичности, создание полей, бюджеты, отмена или сбой колбэка сохраняют предыдущий документ и его дерево полей

Output-колбэки принадлежат вызывающему и могут уже потребовать байты, когда последующий колбэк падает; вызывающим, которым нужен внешний rollback, следует самим ставить эти байты в промежуточное хранилище

Приёмка

Linux FPC 3.2.2 и 3.3.1 каждый проходит 270 реальных assertions ctypes, 228 независимых проверок PDF/изображений/безопасности/CMS, 33 assertions C ABI и 80 конкурентных операций с общим дескриптором

Независимые проверки аутентифицируют политики ID/безопасности AES, валидируют CMS и CAdES с OpenSSL, отклоняют подменённое содержимое, инспектируют сертификационные transform и шрифты встроенных appearance и проверяют фактические пиксели видимых подписей

Нативный C ABI · Pascal-подписание PFX · Pascal-транспорт меток времени