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 القديمة للموقِّع المحدد |
|---|---|
| CoverageStatus | scInvalid أو scSignedRevision أو scWholeDocument |
| ByteRangeValid | True فقط عندما تكون جميع النطاقات محدودة، وفجوة Contents دقيقة، وتنتهي المراجعة الموقَّعة عند %%EOF الخاص بها |
| ContentsGapValid | True فقط عندما تكون البايتات المحذوفة هي رمز /Contents السداسي عشر المحدد بالضبط |
| HasLaterRevisions | True عندما يكون التوقيع المحدد صالحًا لمراجعة تزايدية سابقة ولكن توجد بايتات لاحقة |
| SignedRevisionLength | طول البايتات للمراجعة المُصدَّق عليها بواسطة التوقيع المحدد |
| DocumentLength | طول بايتات PDF الحالي |
| NativeError | رمز خطأ Windows CryptoAPI عند فشل التحقق من السلامة |
طرق التوافق
تبقى VerifySignature و GetSignatureMetadata و GetSignerCertificate و VerifySignerCertificateChain متاحة وتحدد الحقل 0 والموقِّع 0
استخدم GetSignatureMetadataByIndex أو GetSignatureMetadataByName أو GetSignerCertificateByIndex أو GetSignerCertificateByName أو VerifySignerCertificateChainByIndex أو VerifySignerCertificateChainByName للتحديد الصريح