TPDFlibSignatureVerifier

الأمن والتوقيعات

الوصف

يُعدِّد حقول توقيع PDF وموقِّعات CMS، ويتحقق من صحة توقيع محدد دون تحميل ملف PDF الكامل في الذاكرة، ويُبلِّغ عن تغطية المراجعة الموقَّعة الدقيقة بشكل منفصل عن سلامة التشفير

يقبل المُتحقِّق ملفًا أو تدفقًا يملكه المُستدعي أو سلسلة بايتات ANSI عبر OpenPDF أو OpenPDFStream أو OpenPDFString

التحديد

Count := Verifier.GetSignatureCount;
Verifier.GetSignatureFieldName(0, FieldName);
SignerCount := Verifier.GetSignerCount(0);
Result := Verifier.VerifySignatureByName(FieldName, 0, Report);

يحدد VerifySignatureByIndex حقل PDF بواسطة فهرس أحادي الأساس صفري، بينما يستخدم VerifySignatureByName اسم حقل AcroForm المؤهل بالكامل، وكلتا الطريقتين تقبلان فهرس موقِّع CMS أحادي الأساس صفري

تقرير التحقق

IntegrityResultنتيجة سلامة CMS التشفيرية أو سلامة PKCS#7 القديمة للموقِّع المحدد
CoverageStatusscInvalid أو scSignedRevision أو scWholeDocument
ByteRangeValidTrue فقط عندما تكون جميع النطاقات محدودة، وفجوة Contents دقيقة، وتنتهي المراجعة الموقَّعة عند %%EOF الخاص بها
ContentsGapValidTrue فقط عندما تكون البايتات المحذوفة هي رمز /Contents السداسي عشر المحدد بالضبط
HasLaterRevisionsTrue عندما يكون التوقيع المحدد صالحًا لمراجعة تزايدية سابقة ولكن توجد بايتات لاحقة
SignedRevisionLengthطول البايتات للمراجعة المُصدَّق عليها بواسطة التوقيع المحدد
DocumentLengthطول بايتات PDF الحالي
NativeErrorرمز خطأ Windows CryptoAPI عند فشل التحقق من السلامة

طرق التوافق

تبقى VerifySignature و GetSignatureMetadata و GetSignerCertificate و VerifySignerCertificateChain متاحة وتحدد الحقل 0 والموقِّع 0

استخدم GetSignatureMetadataByIndex أو GetSignatureMetadataByName أو GetSignerCertificateByIndex أو GetSignerCertificateByName أو VerifySignerCertificateChainByIndex أو VerifySignerCertificateChainByName للتحديد الصريح