Подписанная информация об отзыве в Windows
Операция подписания Windows может аутентифицировать доказательства CRL и OCSP, включить их в подписанный атрибут RevocationInfoArchival Adobe и опубликовать PDF только после валидации фактического сгенерированного CMS и встроенных доказательств
Опции подписания
{"schemaVersion":1,"type":"sign","incremental":true,
"existingField":true,"fieldName":"ApprovalOne",
"pfxFile":"C:/keys/signer.pfx","pfxPassword":"password",
"cades":true,"digestMethod":"SHA384",
"revocationInfo":{"enabled":true,
"trustedCAFile":"C:/trust/signing-roots.pem",
"certificatesBase64":[],"ocspResponsesBase64":[],
"crlsBase64":["BASE64_DER_CRL"],
"requireTimestamp":false,"clockSkewSeconds":300,
"maxOCSPAgeSeconds":86400}}
revocationInfo необязателен; enabled по умолчанию true, когда объект передан, а выключенные доказательства не могут содержать сертификаты, OCSP-ответы или CRL
trustedCAFile явно идентифицирует PEM-корни доверия и остаётся открытым с запретом совместной записи на всё время подписания; валидация не начинает молча доверять сертификату лишь потому, что он лежит в PFX или в доказательствах
Массивы доказательств содержат канонические строки Base64, кодирующие полные сертификаты DER, CRL или значения OCSPResponse; при включённом enabled требуется хотя бы одна CRL или OCSP-ответ
Стандартный подписанный атрибут содержит DER CRL и значения BasicOCSPResponse; полные входы OCSPResponse нормализуются перед встраиванием, а сертификаты поставляют дополнительный материал цепочки для валидации
HPDFNormalizeHeadlessOCSPResponse в HPDFHeadlessRevocationInfo открывает ограниченную конвертацию успешных ответов для вызывающих Pascal; она валидирует DER-обрамление и извлекает BasicOCSPResponse, а криптографическая проверка и проверка статуса остаются ответственностью подписания или LTV-верификатора
Аутентифицированные доказательства
Валидация аутентифицирует фактическую подпись CMS, привязку сертификата подписанта, явное доверие сертификату, действие сертификата, подписи CRL и интервалы действия, а также подписи OCSP, полномочия responder'а, идентификаторы issuer, статус ответа и времена обновления
Доказательства должны покрывать полную некорневую цепочку подписанта; отозванные, неизвестные, истёкшие, неполные, неавторизованные, недоверенные или некорректные доказательства не могут опубликовать PDF
requireTimestamp требует фактическую метку времени подписания и аутентифицирует доказательства и для её цепочки TSA; используйте транспорт приложения и отдельные настройки доверия TSA, описанные в Метки времени подписания в Windows
clockSkewSeconds принимает от 0 до 86400, а maxOCSPAgeSeconds должен быть положительным; оба настраивают временную валидацию доказательств, а не доверие сертификатам
Seed-значения и публикация
Обязательное ограничение SV AddRevInfo true требует этот workflow проверенных подписанных доказательств; обязательное значение false требует опустить атрибут
Workflow поддерживает существующие и новые поля подписей, первые сертификационные подписи, последующие разрешённые подписи утверждения, поддерживаемые зашифрованные источники и подписание неподписанного документа
Файл доверия и декодированные доказательства делят байтовый лимит в одну восьмую memoryBytes; число объектов доказательств ограничено меньшим из objectCount и 4096 до выделения
Канонический Base64, обрамление DER, бюджеты, отмена, целостность CMS и валидность доказательств проверяются до бинарной публикации; отклонённые доказательства сохраняют исходный дескриптор документа и не публикуют байтов PDF, а колбэки публикации сохраняют существующую семантику сбоев колбэков
Успешный результат сообщает revocationInfo: true только после аутентификации фактического подписанного атрибута; выключенные или опущенные доказательства сообщают false
Ограниченную нативную конвертацию полного OCSPResponse в BasicOCSPResponse DER описывает HPDFNormalizeHeadlessOCSPResponse
Снимки источника, права шифрования, политики предыдущих подписей, бюджеты вывода и семантика публикации колбэков описаны в заданиях инкрементального подписания PFX