PLVerifyModernDetachedCMS

التشفير، التواقيع الرقمية

الوصف

يحقّق في موقّع CMS منفصل حديث مقابل بايتات البيانات الأصلية

يحلّل المُحقِّق SignedData ويطابق ملخص الرسالة في السمات الموقَّعة مع البيانات، ثم يتحقق من التوقيع الخام بالمفتاح العام لشهادة الموقّع: Ed25519 بـ Pascal الخالص، أو ECDSA فوق معاملات المنحنى، أو RSA PKCS#1 و PSS عبر CNG

الصيغة

Delphi

Function PLVerifyModernDetachedCMS(Const CMSBytes, Data: AnsiString;
  SignerIndex: Integer; Out SignerCount: Integer;
  Out NativeError: Cardinal): Integer;

المعاملات

CMSBytesCMS SignedData منفصل بترميز DER
Dataالبايتات المغطاة الأصلية، الدخل نفسه الذي جُزِّئ وقت التوقيع
SignerIndexالموقّع المطلوب تحقيقه، على أساس الصفر
SignerCountيستقبل عدد الموقّعين الموجودين في CMS
NativeErrorيستقبل صنف فشل إجماليًا: 13 لدخل معطوب، و50 لمشكلة ملخص، أو حالة CNG للبدائية الفاشلة

القيم المُرجعة

0ينحلّ CMS لكن خوارزمية توقيعه خارج المجموعة الحديثة، فهذا المُحقِّق غير مسؤول عنها
1نجح التحقق من الموقّع
2فشلت خطوة تحليل أو تجزئة أو بدائية؛ وNativeError يحمل السبب

ملاحظات

مقارنة ملخص الرسالة ثابتة الزمن، ويجب أن تسمّي معاملات PSS الملخص نفسه المذكور في SignerInfo على غرار RFC 4056؛ والنتيجة 0 تخبر المستدعي بتسليم الكتلة إلى مُحقِّق المنصة بدلًا

انظر أيضًا

PLBuildModernDetachedCMS, PLIsModernDetachedCMS, PLCertificateSubjectAndIssuer