Scroll to navigation

CMS_GET0_SIGNERINFOS(3SSL) OpenSSL CMS_GET0_SIGNERINFOS(3SSL)

الاسم

CMS_SignerInfo_set1_signer_cert, CMS_get0_SignerInfos, CMS_SignerInfo_get0_signer_id, CMS_SignerInfo_get0_signature, CMS_SignerInfo_cert_cmp - دوال موقع CMS signedData

موجز

 #include <openssl/cms.h>
 STACK_OF(CMS_SignerInfo) *CMS_get0_SignerInfos(CMS_ContentInfo *cms);
 int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si, ASN1_OCTET_STRING **keyid,
                                   X509_NAME **issuer, ASN1_INTEGER **sno);
 ASN1_OCTET_STRING *CMS_SignerInfo_get0_signature(CMS_SignerInfo *si);
 int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert);
 void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer);

الوصف

ترجع الدالة CMS_get0_SignerInfos() كل بنى CMS_SignerInfo المرتبطة ببنية CMS signedData.

تسترجع CMS_SignerInfo_get0_signer_id() معرّف موقع الشهادة المرتبط ببنية CMS_SignerInfo محددة si. إما أن يُضبط معرّف المفتاح في keyid أو يُضبط كل من اسم المُصدر والرقم التسلسلي في issuer و sno.

تسترجع CMS_SignerInfo_get0_signature() التوقيع المرتبط بـ si في مؤشر إلى بنية ASN1_OCTET_STRING. هذا المؤشر المُعاد يُقابل قيمة التوقيع الداخلية لـ si لذا يمكن قراءته أو تعديله.

تقارن CMS_SignerInfo_cert_cmp() الشهادة cert مع معرّف الموقع si. تُرجع صفرًا إذا نجحت المقارنة وقيمة غير صفرية إذا لم تنجح.

CMS_SignerInfo_set1_signer_cert() تُعيّن شهادة الموقّع لـ si إلى signer.

ملاحظات

الغرض الرئيس من هذه الدوال هو تمكين التطبيق من البحث عن شهادات الموقعين باستخدام أي تقنية مناسبة عندما لا تكون الطريقة الأبسط CMS_verify() مناسبة.

في الاستخدام النموذجي، يسترجع التطبيق كل بنى CMS_SignerInfo باستخدام CMS_get0_SignerInfo() ويسترجع معلومات المعرّف باستخدام CMS. ثم يحصل على شهادة الموقع بوسائل غير محددة (أو يُرجع خطأ إذا تعذر العثور عليها) ويضبطها باستخدام CMS_SignerInfo_set1_signer_cert().

بمجرد ضبط كل شهادات الموقعين، يمكن استخدام CMS_verify().

على الرغم من أن CMS_get0_SignerInfos() يمكن أن تُرجع NULL إذا حدث خطأ أو إذا لم يكن هناك موقعون، إلا أن هذا ليس مشكلة عمليًا لأن الخطأ الوحيد الذي يمكن أن يحدث هو إذا لم تكن بنية cms من نوع signedData بسبب خطأ في التطبيق.

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

تُرجع CMS_get0_SignerInfos() كل بنى CMS_SignerInfo، أو NULL إذا لم يكن هناك موقعون أو حدث خطأ.

تُرجع CMS_SignerInfo_get0_signer_id() 1 للنجاح و0 للفشل.

تُرجع CMS_SignerInfo_cert_cmp() 0 لمقارنة ناجحة وقيمة غير صفرية خلاف ذلك.

لا تُرجع CMS_SignerInfo_set1_signer_cert() قيمة.

يمكن الحصول على أي خطأ من ERR_get_error(3)

انظر أيضًا

ERR_get_error(3)، CMS_verify(3)

حقوق النسخ

حقوق النشر 2008-2025 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة.

مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط <https://www.openssl.org/source/license.html>.

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

7 أبريل 2026 3.6.2