.\" -*- 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_SIGN 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH CMS_SIGN 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_sign, CMS_sign_ex \- إنشاء بنية CMS SignedData .SH موجز .IX Header موجز .Vb 1 \& #include \& \& CMS_ContentInfo *CMS_sign_ex(X509 *signcert, EVP_PKEY *pkey, \& STACK_OF(X509) *certs, BIO *data, \& unsigned int flags, OSSL_LIB_CTX *ctx, \& const char *propq); \& CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, \& BIO *data, unsigned int flags); .Ve .SH الوصف .IX Header الوصف \&\fBCMS_sign_ex()\fP تنشئ وتُعيد بنية CMS SignedData. \&\fIsigncert\fP هي الشهادة المستخدمة للتوقيع، \fIpkey\fP هو المفتاح الخاص المقابل. \fIcerts\fP هي مجموعة اختيارية إضافية من الشهادات لتضمينها في بنية CMS (مثل أي مراجع تصديق وسيطة في السلسلة). يُستخدم سياق المكتبة \fIlibctx\fP واستعلام الخاصية \fIpropq\fP عند استرجاع الخوارزميات من المزودين. يمكن أن تكون أي أو كل هذه المعاملات \&\fBNULL\fP، انظر \fBNOTES\fP أدناه. .PP تُقرأ البيانات المراد توقيعها من BIO \fBdata\fP. .PP \&\fBflags\fP هي مجموعة اختيارية من الوسوم. .PP \&\fBCMS_sign()\fP مشابهة لـ \fBCMS_sign_ex()\fP لكنها تستخدم قيماً مبدئية NULL لسياق المكتبة \fIlibctx\fP واستعلام الخاصية \fIpropq\fP. .SH ملاحظات .IX Header ملاحظات يمكن تمرير أي من العلامات التالية (مجتمعة بعلامة OR) في معامل \fBflags\fP. .PP يتوقع العديد من عملاء S/MIME أن يتضمن المحتوى الموقع رؤوس MIME صالحة. إذا وُضعت علامة \fBCMS_TEXT\fP، تُسبق رؤوس MIME من النوع \fBtext/plain\fP إلى البيانات. .PP إذا ضُبط \fBCMS_NOCERTS\fP فلن تُضمن شهادة الموقع في بنية CMS_ContentInfo، ومع ذلك يجب توفير شهادة الموقع في معامل \fBsigncert\fP. يمكن لهذا تقليل حجم التوقيع إذا كان من الممكن الحصول على شهادة الموقع بوسائل أخرى: مثل رسالة موقعة سابقا. .PP تُضمن البيانات التي تُوقع في بنية CMS_ContentInfo، ما لم تُوضع \&\fBCMS_DETACHED\fP حيث تُحذف في هذه الحالة. يُستخدم هذا للتوقيعات المنفصلة CMS_ContentInfo المستخدمة في رسائل S/MIME النصية الموقعة على سبيل المثال. .PP عادةً يُترجم المحتوى المقدم إلى تنسيق MIME القانوني (كما هو مطلوب بمواصفات S/MIME) إذا وُضعت \fBCMS_BINARY\fP لا تحدث ترجمة. يجب استخدام هذا الخيار إذا كانت البيانات المقدمة بتنسيق ثنائي وإلا ستُفسد الترجمة البيانات. .PP يتضمن هيكل SignedData عدة CMS signedAttributes بما في ذلك وقت التوقيع، ونوع محتوى CMS وقائمة الشفرات المدعومة في سمة SMIMECapabilities. إذا ضُبط \fBCMS_NOATTR\fP فلن تُستخدم أي signedAttributes على الإطلاق. إذا ضُبط \fBCMS_NOSMIMECAP\fP فستُحذف SMIMECapabilities. إذا ضُبط \fBCMS_NO_SIGNING_TIME\fP فسيُحذف وقت التوقيع. .PP إذا وجدت سمة SMIMECapabilities، فإنها تشير إلى دعم الخوارزميات التالية حسب ترتيب الأفضلية: AES بـ 256 بت، وGost R3411\-94، وGost 28147\-89، وAES بـ 192 بت، وAES بـ 128 بت، وDES الثلاثي، وRC2 بـ 128 بت، وRC2 بـ 64 بت، وDES، وRC2 بـ 40 بت. إذا لم تتوفر أي من هذه الخوارزميات فلن تُضمّن: على سبيل المثال لن تُضمّن خوارزميات GOST إذا لم يُحمّل محرك GOST. .PP سيقوم OpenSSL مبدئيًا بتحديد شهادات التوقيع باستخدام اسم المصدر والرقم التسلسلي. إذا جرى ضبط \fBCMS_USE_KEYID\fP فسيستخدم قيمة معرف مفتاح الموضوع بدلاً من ذلك. سيحدث خطأ إذا كانت شهادة التوقيع لا تحتوي على امتداد معرف مفتاح الموضوع. .PP إذا وُضعت العلامات \fBCMS_STREAM\fP فإن بنية \fBCMS_ContentInfo\fP المعادة تُهيأ فقط لتكون جاهزة لتنفيذ عملية التوقيع. لكن التوقيع \fBلا\fP يُنفذ ولا تُقرأ البيانات المراد توقيعها من معامل \fBdata\fP. يُؤجل التوقيع حتى بعد كتابة البيانات. بهذه الطريقة يمكن توقيع البيانات في تمريرة واحدة. .PP إذا وُضعت علامة \fBCMS_PARTIAL\fP تُخرج بنية \fBCMS_ContentInfo\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 إذا حُدد موقع، فسيستخدم الملخص المبدئي لخوارزمية التوقيع. هذا الملخص هو \fBSHA256\fP لكل من مفاتيح RSA و DSA. .PP إذا كان \fBsigncert\fP و \fBpkey\fP NULL، تُخرج بنية CMS تحتوي على شهادات فقط. .PP الدالة \fBCMS_sign()\fP هي دالة توقيع CMS أساسية سيكون مخرجها مناسباً لأغراض عديدة. للتحكم الدقيق بتنسيق المخرج، يمكن أن تكون جميع معاملات \&\fBcerts\fP و \fBsigncert\fP و \fBpkey\fP \fBNULL\fP وتُوضع علامة \&\fBCMS_PARTIAL\fP. ثم يمكن إضافة موقع واحد أو أكثر باستخدام الدالة \fBCMS_add1_signer()\fP، ويمكن استخدام ملخصات غير مبدئية وإضافة سمات مخصصة. يجب بعد ذلك استدعاء \fBCMS_final()\fP لإنهاء البنية إذا لم يكن البث ممكناً. .SH العلل .IX Header العلل بعض السمات مثل التوقيعات المضادة غير مدعومة. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&\fBCMS_sign_ex()\fP و \fBCMS_sign()\fP تُعيدان إما بنية CMS_ContentInfo صالحة أو NULL إذا حدث خطأ. يمكن الحصول على الخطأ من \&\fBERR_get_error\fP\|(3). .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBERR_get_error\fP\|(3)، \fBCMS_verify\fP\|(3) .SH التاريخ .IX Header التاريخ علامة \fBCMS_STREAM\fP مدعومة فقط للبيانات المنفصلة في OpenSSL 0.9.8، وهي مدعومة للبيانات المضمنة في OpenSSL 1.0.0 والإصدارات الأحدث. .PP أُضيفت طريقة \fBCMS_sign_ex()\fP في OpenSSL 3.0. .PP منذ OpenSSL 3.2، تتجاهل \fBCMS_sign_ex()\fP و \fBCMS_sign()\fP أي شهادات مكررة في وسيط \fIcerts\fP الخاص بها ولم تعد تطرح خطأً لها. .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 .