Scroll to navigation

SMIME_WRITE_CMS(3SSL) OpenSSL SMIME_WRITE_CMS(3SSL)

الاسم

SMIME_write_CMS - تحويل بنية CMS إلى تنسيق S/MIME

موجز

 #include <openssl/cms.h>
 int SMIME_write_CMS(BIO *out, CMS_ContentInfo *cms, BIO *data, int flags);

الوصف

تضيف الدالة SMIME_write_CMS() ترويسات MIME المناسبة إلى بنية CMS لإنتاج رسالة S/MIME.

out هو BIO لكتابة البيانات إليه. cms هو بنية CMS_ContentInfo المناسبة. إذا كان التدفق (streaming) مفعّلاً، فيجب توفير المحتوى في معامل data. flags هي مجموعة اختيارية من الأعلام.

ملاحظات

يمكن تمرير العلامات التالية في معامل flags.

إذا وُضع CMS_DETACHED، فسيُستخدم التوقيع بالنص الواضح (cleartext signing)، وهذا الخيار منطقي فقط لـ SignedData حيث يُوضع CMS_DETACHED أيضًا عند استدعاء CMS_sign().

إذا ضُبِطَ علم CMS_TEXT، تضاف رؤوس MIME للنوع text/plain إلى المحتوى، وهذا يكون منطقيًا فقط إذا ضُبِطَ CMS_DETACHED أيضًا.

إذا وُضع العلم CMS_STREAM، فسيُجرى التدفق (streaming). يجب وضع هذا العلم فقط إذا كان CMS_STREAM قد وُضع أيضًا في الاستدعاء السابق لدالة إنشاء CMS_ContentInfo.

إذا كان التوقيع بالنص الواضح قيد الاستخدام ولم يُوضع CMS_STREAM، فيجب قراءة البيانات مرتين: مرة لحساب التوقيع في CMS_sign() ومرة لإخراج رسالة S/MIME.

إذا أُجري الدفق، فستُخرج المحتويات بتنسيق BER باستخدام ترميز مبني غير محدد الطول باستثناء حالة البيانات الموقعة ذات المحتوى المنفصل حيث يغيب المحتوى ويُستخدم تنسيق DER.

العلل

تقوم SMIME_write_CMS() دائمًا بترميز بنى CMS بـ base64، ويجب أن يكون هناك خيار لتعطيل ذلك.

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

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

انظر أيضًا

ERR_get_error(3), CMS_sign(3), CMS_verify(3), CMS_encrypt(3) CMS_decrypt(3)

حقوق النسخ

حقوق النشر 2008-2016 لمؤلفي مشروع 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