.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Title "CMS_ENCRYPT 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CMS_ENCRYPT 3ssl "7 أبريل 2026" 3.6.2 OpenSSL .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH الاسم CMS_encrypt_ex، CMS_encrypt \- إنشاء بنية CMS envelopedData .SH موجز .IX Header موجز .Vb 1 \& #include \& \& CMS_ContentInfo *CMS_encrypt_ex(STACK_OF(X509) *certs, BIO *in, \& const EVP_CIPHER *cipher, unsigned int flags, \& OSSL_LIB_CTX *libctx, const char *propq); \& CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *in, \& const EVP_CIPHER *cipher, unsigned int flags); .Ve .SH الوصف .IX Header الوصف \&\fBCMS_encrypt_ex()\fP تُنشئ وتُعيد بنية CMS EnvelopedData أو AuthEnvelopedData. \fIcerts\fP هي قائمة شهادات المستلمين. \&\fIin\fP هو المحتوى الذي سيُعمّى. \fIcipher\fP هو التعمية التماثلي المستخدم. \&\fIflags\fP هي مجموعة اختيارية من الأعلام. سياق المكتبة \fIlibctx\fP واستعلام الخاصية \fIpropq\fP يُستخدمان داخليًا عند استرداد الخوارزميات من المزوّدين. .PP فقط الشهادات التي تحمل مفاتيح RSA أو Diffie\-Hellman أو EC مدعومة بهذه الدالة. .PP \&\fBEVP_des_ede3_cbc()\fP (DES الثلاثي) هو الخوارزمية المختارة لاستخدام S/MIME لأن معظم العملاء سيدعمونها. .PP الخوارزمية المُمرّرة في معامل \fBcipher\fP يجب أن تدعم ترميز ASN1 لمعاملاتها. إذا كان وضع التعمية هو GCM، فتُستخدم بنية AuthEnvelopedData تحتوي على MAC. وإلا تُستخدم بنية EnvelopedData. حاليًا، متغيرات AES مع وضع GCM هي خوارزميات AEAD الوحيدة المدعومة. .PP العديد من المتصفحات تُنفّذ خيار "التوقيع والتعمية" وهو ببساطة envelopedData من S/MIME يحتوي على رسالة موقّعة من S/MIME. يمكن إنتاج هذا بسهولة بتخزين الرسالة الموقّعة من S/MIME في BIO ذاكرة وتمريرها إلى \&\fBCMS_encrypt()\fP. .PP يمكن تمرير العلامات التالية في معامل \fBflags\fP. .PP إذا ضُبِطَ علم \fBCMS_TEXT\fP، يُلحَقُ رؤوس MIME للنوع \fBtext/plain\fP في بداية البيانات. .PP عادةً ما يُحول المحتوى المزود إلى تنسيق MIME القياسي (كما تتطلبه مواصفات S/MIME) وإذا جرى ضبط \fBCMS_BINARY\fP فلا يحدث أي تحويل. يجب استخدام هذا الخيار إذا كانت البيانات المزودة بتنسيق ثنائي وإلا فإن التحويل سيفسدها. إذا جرى ضبط \fBCMS_BINARY\fP فسيجري تجاهل \&\fBCMS_TEXT\fP. .PP سيقوم OpenSSL مبدئيًا بتحديد شهادات المستلمين باستخدام اسم المصدر والرقم التسلسلي. إذا جرى ضبط \fBCMS_USE_KEYID\fP فسيستخدم قيمة معرف مفتاح الموضوع بدلاً من ذلك. سيحدث خطأ إذا كانت جميع شهادات المستلمين لا تحتوي على امتداد معرف مفتاح الموضوع. .PP إذا جرى ضبط علم \fBCMS_STREAM\fP، يُرجَع هيكل \fBCMS_ContentInfo\fP جزئي مناسب لتدفق الإدخال/الإخراج: لا تُقرَأ أي بيانات من BIO \fBin\fP. .PP إذا وُضع العلم \fBCMS_PARTIAL\fP، تُعاد بنية \fBCMS_ContentInfo\fP جزئية يمكن إضافة مستلمين وسمات إضافية إليها قبل الإيداع النهائي. .PP البيانات التي تُعمّى تُضمّن في بنية CMS_ContentInfo، ما لم يُضبط \&\fBCMS_DETACHED\fP فتُحذف. هذا نادر الاستخدام عمليًا ولا تدعمه \fBSMIME_write_CMS()\fP. .PP إذا ضُبطت الراية \fBCMS_STREAM\fP، فإن بنية \fBCMS_ContentInfo\fP المعادة \&ليست كاملة، وإخراج محتوياتها عبر دالة لا تنهي بنية \fBCMS_ContentInfo\fP بشكل صحيح سيعطي نتائج لا يمكن التنبؤ بها. .PP تقوم عدة دوال بما في ذلك \fBSMIME_write_CMS()\fP و \fBi2d_CMS_bio_stream()\fP و \&\fBPEM_write_bio_CMS_stream()\fP بإنهاء البنية. بدلاً من ذلك، يمكن إجراء الإنهاء بالحصول على تدفق ASN1 \fBBIO\fP مباشرة باستخدام \&\fBBIO_new_CMS()\fP. .PP المستلمون المُحدّدون في \fBcerts\fP يستخدمون بنية معلومات CMS KeyTransRecipientInfo. KEKRecipientInfo مدعوم أيضًا باستخدام العلم \fBCMS_PARTIAL\fP و \fBCMS_add0_recipient_key()\fP. KEMRecipientInfo مدعوم أيضًا باستخدام العلم \fBCMS_PARTIAL\fP و \fBCMS_add1_recipient()\fP. .PP المعامل \fBcerts\fP قد يكون NULL إذا ضُبط \fBCMS_PARTIAL\fP وأُضيف المستلمون لاحقًا باستخدام \fBCMS_add1_recipient()\fP أو \fBCMS_add1_recipient_cert()\fP مع \&\fBCMS_add0_recipient_key()\fP. .PP \&\fBCMS_encrypt()\fP مشابهة لـ \fBCMS_encrypt_ex()\fP لكنها تستخدم قيمًا مبدئية من NULL لسياق المكتبة \fIlibctx\fP واستعلام الخاصية \fIpropq\fP. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&\fBCMS_encrypt_ex()\fP و \fBCMS_encrypt()\fP تُعيدان إما بنية CMS_ContentInfo أو NULL إذا حدث خطأ. يمكن الحصول على الخطأ من \&\fBERR_get_error\fP\|(3). .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBERR_get_error\fP\|(3)، \fBCMS_decrypt\fP\|(3) .SH التاريخ .IX Header التاريخ الدالة \fBCMS_encrypt_ex()\fP أُضيفت في OpenSSL 3.0. .PP العلم \fBCMS_STREAM\fP دُعم لأول مرة في OpenSSL 1.0.0. .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2008\-2025 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة. .PP مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط . .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .