BIO_NEW_CMS(3SSL)

الاسم
BIO_new_CMS - BIO مرشح دفق CMS

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

 BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms);

الوصف
BIO_new_CMS() تُرجع سلسلة BIO مرشح دفق مبنية على cms. يُكتب خرج المرشح إلى out. أي بيانات تُكتب إلى السلسلة تُترجم آلي إلى بنية CMS بصيغة BER من النوع المناسب.

ملاحظات
السلسلة التي تُرجعها هذه الدالة تتصرف مثل BIO مرشح قياسي. تدعم الإدخال/الإخراج غير المحظور. يُعالج المحتوى ويُدفق فوراً ولا يُحفظ كله في الذاكرة دفعة واحدة: لذا يمكن ترميز بنى كبيرة جداً. بعد كتابة كل المحتوى عبر السلسلة، يجب استدعاء BIO_flush() لإنهاء البنية.

يجب تضمين العلم CMS_STREAM في معامل flags المقابل لدالة إنشاء cms.

إذا أراد تطبيق كتابة بيانات إضافية إلى out، يجب إزالة BIOs من السلسلة باستخدام BIO_pop() وتحريرها بـ BIO_free() حتى الوصول إلى out. إذا لم تُكتب بيانات إضافية، يمكن استدعاء BIO_free_all() لتحرير السلسلة بأكملها.

أي محتوى يُكتب عبر المرشح يُستخدم حرفياً: لا تُجرى ترجمة قانونية.

يمكن ربط عدة BIOs، مثلاً، لإنشاء بنية موقعة ومغلفة وموقعة ثلاثية اللف. في هذه الحالة، تقع مسؤولية تعيين نوع المحتوى الداخلي لأي بنى CMS_ContentInfo خارجية على التطبيق.

يجب تجنب عدد كبير من الكتابات الصغيرة عبر السلسلة لأن هذا سينتج خرجا يتكون من الكثير من بنى OCTET STRING. إضافة BIO تخزين مؤقت BIO_f_buffer() في البداية سيمنع هذا.

العلل
لا يوجد حالياً BIO عكسي مقابل: أي واحد يمكنه فك تشفير بنية CMS فوراً.

القيم المُرجعة
BIO_new_CMS() تُرجع سلسلة BIO عند النجاح أو NULL إذا حدث خطأ. يمكن الحصول على الخطأ من ERR_get_error(3).

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

التاريخ
أُضيفت الدالة BIO_new_CMS() في OpenSSL 1.0.0.

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