SMIME_WRITE_ASN1(3SSL)

الاسم
SMIME_write_ASN1_ex, SMIME_write_ASN1 - تحويل بنية إلى تنسيق S/MIME

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

 int SMIME_write_ASN1_ex(BIO *out, ASN1_VALUE *val, BIO *data, int flags,
                         int ctype_nid, int econt_nid,
                         STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it,
                         OSSL_LIB_CTX *libctx, const char *propq);

 int SMIME_write_ASN1(BIO *out,
     ASN1_VALUE *val, BIO *data, int flags, int ctype_nid, int econt_nid,
     STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it);

الوصف
تضيف الدالة SMIME_write_ASN1_ex() ترويسات MIME المناسبة إلى بنية كائن لإنتاج رسالة S/MIME.

out هو BIO لكتابة البيانات إليه. value هي بنية ASN1_VALUE المناسبة (إما CMS_ContentInfo أو PKCS7). إذا كان التدفق ممكّنًا، فيجب توفير المحتوى عبر data. flags هي مجموعة اختيارية من الأعلام. ctype_nid هو NID لنوع المحتوى، econt_nid هو NID لنوع المحتوى المضمن، و mdalgs هي قائمة بخوارزميات ملخص البيانات الموقعة. القيم الصالحة التي يمكن استخدامها بواسطة بنية ASN.1 it هي ASN1_ITEM_rptr(PKCS7) أو ASN1_ITEM_rptr(CMS_ContentInfo). يُستخدم سياق المكتبة libctx واستعلام الخاصية propq عند استرداد الخوارزميات من المزوّدين.

ملاحظات
يجب استخدام الدوال ذات المستوى الأعلى SMIME_write_CMS(3) و SMIME_write_PKCS7(3) بدلاً من SMIME_write_ASN1().

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

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

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

إذا تم تعيين العلم CMS_STREAM، فسيتم تنفيذ التدفق. يجب تعيين هذا العلم فقط إذا تم أيضًا تعيين CMS_STREAM في الاستدعاء السابق لدالة إنشاء CMS_ContentInfo أو PKCS7.

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

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

القيم المُرجعة
تُرجع SMIME_write_ASN1_ex() و SMIME_write_ASN1() 1 للنجاح أو 0 للفشل.

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

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