CMS_GET0_TYPE(3ssl)

الاسم
CMS_get0_type, CMS_set1_eContentType, CMS_get0_eContentType, CMS_get0_content - جلب وضبط أنواع محتوى CMS والمحتوى

موجز
 #include <openssl/cms.h>

 const ASN1_OBJECT *CMS_get0_type(const CMS_ContentInfo *cms);
 int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid);
 const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms);
 ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms);

الوصف
CMS_get0_type() تُرجع نوع المحتوى لبنية CMS_ContentInfo كمؤشر ASN1_OBJECT. يمكن للتطبيق بعد ذلك أن يقرر كيفية معالجة بنية CMS_ContentInfo بناءً على هذه القيمة.

CMS_set1_eContentType() تضبط نوع المحتوى المضمن لبنية CMS_ContentInfo. يجب استدعاؤها مع دوال CMS (مثل CMS_sign(3)، CMS_encrypt(3)) مع العلم CMS_PARTIAL وقبل إنهاء البنية، وإلا تكون النتائج غير محددة.

ASN1_OBJECT *CMS_get0_eContentType() تُرجع مؤشرًا إلى نوع المحتوى المضمن.

CMS_get0_content() تُرجع مؤشرًا إلى مؤشر ASN1_OCTET_STRING الذي يحتوي على المحتوى المضمن.

ملاحظات
كما يشير 0، تُرجع CMS_get0_type() وCMS_get0_eContentType() وCMS_get0_content() مؤشرات داخلية يجب عدم تحريرها. تنسخ CMS_set1_eContentType() OID المقدم ويجب تحريرها بعد الاستخدام.

يمكن تحويل قيم ASN1_OBJECT المُرجعة إلى قيمة NID صحيحة باستخدام OBJ_obj2nid(). بالنسبة لأنواع المحتوى المدعومة حاليًا، تُرجع القيم التالية:

 NID_pkcs7_data
 NID_pkcs7_signed
 NID_pkcs7_digest
 NID_id_smime_ct_compressedData:
 NID_pkcs7_encrypted
 NID_pkcs7_enveloped

قيمة الإرجاع لـ CMS_get0_content() هي مؤشر إلى مؤشر محتوى ASN1_OCTET_STRING. يعني ذلك أنه على سبيل المثال:

 ASN1_OCTET_STRING **pconf = CMS_get0_content(cms);

*pconf قد يكون NULL إذا لم يكن هناك محتوى مضمن. يمكن للتطبيقات الوصول إلى المحتوى المضمن أو تعديله أو إنشاؤه في بنية CMS_ContentInfo باستخدام هذه الدالة. عادةً لا تحتاج التطبيقات إلى تعديل المحتوى المضمن لأنه يُضبط آليًا بواسطة دوال ذات مستوى أعلى.

القيم المُرجعة
CMS_get0_type() وCMS_get0_eContentType() تُرجعان بنية ASN1_OBJECT.

CMS_set1_eContentType() تُرجع 1 للنجاح أو 0 إذا حدث خطأ. يمكن الحصول على الخطأ من ERR_get_error(3).

انظر أيضًا
ERR_get_error(3)

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

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

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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