.\" -*- 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_ADD1_RECIPIENT_CERT 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CMS_ADD1_RECIPIENT_CERT 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_add1_recipient, CMS_add1_recipient_cert, CMS_add0_recipient_key \- إضافة مستلمين إلى بنية بيانات CMS المُغلّفة .SH موجز .IX Header موجز .Vb 1 \& #include \& \& CMS_RecipientInfo *CMS_add1_recipient(CMS_ContentInfo *cms, X509 *recip, \& EVP_PKEY *originatorPrivKey, \& X509 *originator, unsigned int flags); \& \& CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, \& X509 *recip, unsigned int flags); \& \& CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int nid, \& unsigned char *key, size_t keylen, \& unsigned char *id, size_t idlen, \& ASN1_GENERALIZEDTIME *date, \& ASN1_OBJECT *otherTypeId, \& ASN1_TYPE *otherType); .Ve .SH الوصف .IX Header الوصف \&\fBCMS_add1_recipient()\fP يُضيف المستلم \fBrecip\fP ويُوفّر المفتاح الخاص للمُنشئ \fBoriginatorPrivKey\fP وشهادة المُنشئ \fBoriginator\fP إلى CMS_ContentInfo. الحقول المتعلقة بالمُنشئ ذات صلة فقط في حالة استخدام طريقة keyAgreement لتوفير المفتاح المُشترك. .PP \&\fBCMS_add1_recipient_cert()\fP يُضيف المستلم \fBrecip\fP إلى بنية بيانات CMS_ContentInfo المُغلّفة \fBcms\fP كهيكل KeyTransRecipientInfo أو KEMRecipientInfo، أو كهيكل KeyAgreeRecipientInfo بمفتاح مؤقت. .PP \&\fBCMS_add0_recipient_key()\fP يُضيف المفتاح المتناظر \fBkey\fP بطول \fBkeylen\fP باستخدام خوارزمية التغليف \fBnid\fP، والمعرّف \fBid\fP بطول \fBidlen\fP والقيم الاختيارية \fBdate\fP و\fBotherTypeId\fP و\fBotherType\fP إلى بنية بيانات CMS_ContentInfo المُغلّفة \fBcms\fP كهيكل KEKRecipientInfo. .PP يجب الحصول على بنية CMS_ContentInfo من استدعاء أولي لـ \&\fBCMS_encrypt()\fP مع تعيين العلامة \fBCMS_PARTIAL\fP. .SH ملاحظات .IX Header ملاحظات الغرض الرئيس من هذه الدالة هو توفير تحكم أدق في بنية بيانات CMS المُغلّفة حيث لا تكون المبدئيات الأبسط للدالة \fBCMS_encrypt()\fP مناسبة. على سبيل المثال، إذا كان من الضروري إضافة هيكل KEKRecipientInfo واحد أو أكثر. يمكن أيضًا إضافة سمات جديدة باستخدام بنية CMS_RecipientInfo المُعادة ودوال الأداة المساعدة لسمات CMS. .PP سيقوم OpenSSL مبدئيًا بتحديد شهادات المستلمين باستخدام اسم المصدر والرقم التسلسلي. إذا جرى ضبط \fBCMS_USE_KEYID\fP فسيستخدم قيمة معرف مفتاح الموضوع بدلاً من ذلك. سيحدث خطأ إذا كانت جميع شهادات المستلمين لا تحتوي على امتداد معرف مفتاح الموضوع. .PP حاليًا، فقط خوارزميات تغليف المفاتيح المستندة إلى AES مدعومة لـ \fBnid\fP، وتحديدًا: NID_id_aes128_wrap وNID_id_aes192_wrap وNID_id_aes256_wrap. إذا عُيّن \fBnid\fP إلى \fBNID_undef\fP، فسيُستخدم خوارزمية تغليف AES متوافقة مع \fBkeylen\fP. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&\fBCMS_add1_recipient_cert()\fP و\fBCMS_add0_recipient_key()\fP يُعيدان مؤشرًا داخليًا إلى بنية CMS_RecipientInfo المُضافة حديثًا أو NULL إذا حدث خطأ. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBERR_get_error\fP\|(3)، \fBCMS_decrypt\fP\|(3)، \&\fBCMS_final\fP\|(3)، .SH التاريخ .IX Header التاريخ \&\fBCMS_add1_recipient_cert\fP و\fBCMS_add0_recipient_key\fP أُضيفا في OpenSSL 3.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 .