Scroll to navigation

SMIME_WRITE_PKCS7(3SSL) OpenSSL SMIME_WRITE_PKCS7(3SSL)

الاسم

SMIME_write_PKCS7 - تحويل بنية PKCS#7 إلى تنسيق S/MIME

موجز

 #include <openssl/pkcs7.h>
 int SMIME_write_PKCS7(BIO *out, PKCS7 *p7, BIO *data, int flags);

الوصف

تضيف الدالة SMIME_write_PKCS7() ترويسات MIME المناسبة إلى بنية PKCS#7 لإنتاج رسالة S/MIME.

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

ملاحظات

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

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

إذا وُضع علم PKCS7_TEXT، تُضاف ترويسات MIME من النوع text/plain إلى المحتوى، هذا منطقي فقط إذا وُضع PKCS7_DETACHED أيضًا.

إذا وُضع علم PKCS7_STREAM، يُجرى التدفق. يجب وضع هذا العلم فقط إذا وُضع PKCS7_STREAM أيضًا في الاستدعاء السابق للدالة PKCS7_sign() أو PKCS7_encrypt().

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

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

العلل

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

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

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

انظر أيضًا

ERR_get_error(3), PKCS7_sign(3), PKCS7_verify(3), PKCS7_encrypt(3) PKCS7_decrypt(3)

حقوق النسخ

حقوق النشر 2002-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.5.6