Звіти про перевірку підписів CMS
Автономні API CMS надають кожен первинний SignerInfo і рекурсивно вкладений counterSignature у детермінованому порядку документа
Граф підписувачів
HPDFParseCMSSignatures повертає всі записи первинних підписувачів, тоді як HPDFVerifyCMSSignaturesEx перевіряє їх щодо наданого потоку вмісту
HPDFVerifyCMSSignerReport додає рекурсивні контрпідписи та ідентифікує кожен запис за Kind, SignerIndex, ParentSignerIndex, NestingDepth і стабільним шляхом як-от SignerInfo[0].CounterSignature[1]
THPDFCMSVerifyOptions.MaxSignerCount і MaxCounterSignatureDepth обмежують роботу з ворожими контейнерами, зберігаючи детермінований вивід
Звіт про сертифікати та докази
HPDFBuildCMSValidationReport поєднує перевірку підписувача з контрольованою викликаючим кодом автономною перевіркою сертифікатів для кожного підписувача в графі
Повернений THPDFSignatureValidationReport містить сукупні результати підписів і шляхів, кількість підписувачів, стан успіху, машинночитаний THPDFValidationFailureCode та повний THPDFSignatureInfo на підписувача
Окремі деталі сертифікатів підписувача включають обраний шлях, результат довіри, джерело та мітки часу відкликання, рішення про nonce OCSP, використання дельта та непрямих CRL, діючі політики сертифікатів, мінімальні спостережувані сили ключів та діагностику політики алгоритмів
Експорт JSON
HPDFSignatureValidationReportToJSON експортує звіт як JSON схеми версії 1 з екранованими текстовими значеннями та стабільними іменами полів, придатними для журналів аудиту, двигунів політик та автоматизованого тестування
Експортер не виконує жодного мережевого доступу та не змінює звіт або потік джерела
Операційні рекомендації
- Використовуйте явні довірені корені та встановлюйте
ValidationTimeпід час відтворення історичного рішення про перевірку - Використовуйте
rvmRequire, коли успішний результат має містити поточні автономні докази відкликання - Використовуйте
onpRequireMatchзExpectedOCSPNonce, коли процедура роботи керує вихідним запитом OCSP - Встановлюйте консервативні межі підписувачів і вкладеності для ненадійного введення CMS
- Зберігайте звіт JSON разом із точною підписаною ревізією та набором доказів, коли журнал аудиту має бути відтворюваним
Див. також: VerifyLoadedSignatureWithTrust, GetLoadedSignatureInfo