Опции подписания в нативном Linux

Нативный колбэк-ABI связывает ограничения подписания документа с фактическим выводом CMS и сгенерированным appearance

Digest и метаданные Unicode

Операция подписания принимает digestMethod как SHA256, SHA384 или SHA512; по умолчанию SHA256, и выбранное значение определяет фактический digest подписанта CMS

reason, location, contactInfo, signerName и legalAttestation принимают строки Unicode без встроенных символов NUL

Метаданные следуют политике шифрования строк исходного документа, включая аутентифицированный вход AES-256

legalAttestation применяется к сертификационным подписям и становится значением Catalog Legal.Attestation

Обязательные seed-значения управляют фактическим digest, reason, свойствами сертификата, правом сертификации, юридическим заверением, профилем appearance, информацией об отзыве и поведением метки времени

Явные байты доверия

trustedCAPEM, timestampTrustedCAPEM и timestampTrustedCRLPEM принимают байты PEM в JSON-строках

Соответствующие устаревшие входы путей — trustedCAFile, timestampTrustedCAFile и timestampTrustedCRLFile; для каждого источника доверия передайте байты или путь

Входы PEM удерживаются в монопольных приватных файлах с режимом 0600 на время операции и удаляются после; ответы не раскрывают эти сгенерированные пути

Доверие сертификату подписанта оценивается только при явной настройке, а проверка целостности CMS всё равно проверяет фактическую подпись и привязку сертификата подписанта

Проверенная информация об отзыве в подписи

Передайте объект revocationInfo с enabled, certificatesBase64, ocspResponsesBase64, crlsBase64 и trustedCAPEM или trustedCAFile

enabled по умолчанию true; выключенная информация не может содержать массивы доказательств

Массивы содержат канонические строки Base64 для полных сертификатов DER, успешных объектов OCSPResponse и объектов CertificateList

clockSkewSeconds по умолчанию 300 и должен быть в диапазоне 0–86400; maxOCSPAgeSeconds по умолчанию 86400 и должен быть положительным; requireTimestamp по умолчанию false

Валидация проверяет цепочки сертификатов подписанта и включённой метки времени против явного доверия, полное покрытие без корневого, совпадение issuer и серийного номера, подписи CRL и OCSP, полномочия responder'а, интервалы действия и статус отзыва

Некорректные, устаревшие, неполные, недоверенные или отозванные доказательства проваливают операцию до публикации PDF

Проверенные доказательства становятся подписанным CMS-атрибутом 1.2.840.113583.1.1.8, а результат сообщает revocationInfoEvaluated и revocationInfoValid

signatures.verify принимает тот же объект revocationInfo для проверки фактического встроенного подписанного атрибута; CRL и OCSP-ответы вызывающего не заменяют этот атрибут при проверке

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

Фактические именованные пресеты appearance

Передайте объект appearance с caption, необязательным fontFamily и необязательным profileName

profileNameФактический сгенерированный стиль
HotPDF.StandardApprovalПо центру синий текст 11 пунктов, прямоугольная граница, белый фон и одна строка текста
HotPDF.StandardCertificationПо левому краю чёрный текст 10 пунктов, прямоугольная граница, белый фон и многострочный перенос
HotPDF.CompactПо правому краю чёрный текст 8 пунктов, без закрашенного фона и границы, одна строка текста

Пресет определяет стиль и размер шрифта; неизвестный профиль проваливает операцию, а не помечает произвольный appearance

Обязательный AppearanceFilter совпадает с фактическим профилем, сгенерированным в текущей операции; ранее загруженный appearance должен быть сгенерирован заново

Без profileName fontSize по умолчанию 12; устаревшие верхнеуровневые caption, fontFamily и fontSize остаются поддерживаемыми

Не комбинируйте верхнеуровневый caption с объектом appearance

Провенанс транспорта приложения

credentialSourceURL заявляет провенанс учётных данных, который утверждает приложение, поставляющее идентичность, а timestampServerURL — провенанс конечной точки, утверждаемый её колбэком меток времени

Эти значения сравниваются с соответствующими обязательными seed-ограничениями; они не извлекают учётные данные, не обращаются к удалённому серверу и не аутентифицируют независимо идентичность HTTPS-эндпоинта

Извлечением идентичности и аутентификацией транспорта управляет приложение

timestampServerURL требует фактического колбэка в hpdf_signing_operation_v1, а возвращённый ответ RFC 3161 должен пройти проверки imprint подписи, nonce, назначения сертификата TSA, явного доверия и запрошенного отзыва

Сценарии подписания · Транспорт меток времени · Seed-ограничения · Профили appearance