Scroll to navigation

SMIME_READ_ASN1(3SSL) OpenSSL SMIME_READ_ASN1(3SSL)

الاسم

SMIME_read_ASN1_ex, SMIME_read_ASN1 - تحليل رسالة S/MIME

موجز

 #include <openssl/asn1.h>
 ASN1_VALUE *SMIME_read_ASN1_ex(BIO *in, int flags, BIO **bcont,
                                const ASN1_ITEM *it, ASN1_VALUE **x,
                                OSSL_LIB_CTX *libctx, const char *propq);
 ASN1_VALUE *SMIME_read_ASN1(BIO *in, BIO **bcont, const ASN1_ITEM *it);

الوصف

الدالة SMIME_read_ASN1_ex() تحلل رسالة بتنسيق S/MIME.

in هو BIO لقراءة الرسالة منه. إذا احتوى معامل flags على CMS_BINARY، يُفترض أن المُدخل بتنسيق ثنائي ولا يُترجم إلى الصيغة القانونية. إذا وُضع أيضًا SMIME_ASCIICRLF، يُفترض أن المُدخل الثنائي يتبعه محرفا CR و LF، وإلا يتبعه محرف LF فقط. يمكن استخدام x لتزويد كائن it ASN1_VALUE مُنشأ سابقًا (مثل CMS_ContentInfo أو PKCS7)، ويمكن ضبطه على NULL. القيم الصالحة التي يمكن استخدامها بواسطة بنية ASN.1 it هي ASN1_ITEM_rptr(PKCS7) أو ASN1_ITEM_rptr(CMS_ContentInfo). أي جلب خوارزميات يحدث أثناء العملية سيستخدم OSSL_LIB_CTX المُزود في معامل libctx، ويستخدم سلسلة استعلام الخاصية propq. راجع "ALGORITHM FETCHING" في crypto(7) لمزيد من التفاصيل حول جلب الخوارزميات.

إذا استُخدم التوقيع بنص واضح، يُحفظ المحتوى في bio ذاكرة يُكتب إلى *bcont، وإلا يُضبط *bcont على NULL.

تُعاد بنية ASN1_VALUE المُحللة أو NULL إذا حدث خطأ.

الدالة SMIME_read_ASN1() مشابهة لـ SMIME_read_ASN1_ex() لكنها تضبط قيمة x على NULL وقيمة flags على 0.

ملاحظات

يجب استخدام الدوال ذات المستوى الأعلى SMIME_read_CMS_ex(3) و SMIME_read_PKCS7_ex(3) بدلاً من SMIME_read_ASN1_ex().

لدعم الوظائف المستقبلية، إذا كان bcont ليس NULL، يجب تهيئة *bcont على NULL.

العلل

محلل MIME المستخدم بواسطة SMIME_read_ASN1_ex() بدائي إلى حد ما. بينما سيعالج معظم رسائل S/MIME، قد لا تعمل التنسيقات المركبة الأكثر تعقيدًا.

استخدام ذاكرة BIO لحفظ المحتوى الموقع يحد من حجم الرسالة التي يمكن معالجتها بسبب قيود الذاكرة: يجب أن يتوفر خيار تمرير واحد متدفق.

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

ترجع الدالتان SMIME_read_ASN1_ex() و SMIME_read_ASN1() بنية ASN1_VALUE صالحة أو NULL إذا حدث خطأ. يمكن الحصول على الخطأ من ERR_get_error(3).

انظر أيضًا

ERR_get_error(3), SMIME_read_CMS_ex(3), SMIME_read_PKCS7_ex(3), SMIME_write_ASN1(3), SMIME_write_ASN1_ex(3)

التاريخ

أُضيفت الدالة SMIME_read_ASN1_ex() في OpenSSL 3.0.

حقوق النسخ

حقوق النشر 2020-2021 لمؤلفي مشروع 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.5.6