.\" -*- 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 "PKCS7_SIGN 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH PKCS7_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 الاسم PKCS7_sign_ex, PKCS7_sign \&\- إنشاء بنية PKCS#7 signedData .SH موجز .IX Header موجز .Vb 1 \& #include \& \& PKCS7 *PKCS7_sign_ex(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, \& BIO *data, int flags, OSSL_LIB_CTX *libctx, \& const char *propq); \& PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, \& BIO *data, int flags); .Ve .SH الوصف .IX Header الوصف \&تنشئ الدالة \fBPKCS7_sign_ex()\fP بنية PKCS#7 signedData وتُعيدها. \&\fIsigncert\fP هو الشهادة المستخدمة للتوقيع، و\fIpkey\fP هو المفتاح الخاص المقابل. \fIcerts\fP هي مجموعة اختيارية من الشهادات الإضافية لإدراجها في بنية PKCS#7 (مثل أي شهادات CA وسيطة في السلسلة). يُستخدم سياق المكتبة \fIlibctx\fP واستعلام الخاصية \fIpropq\fP عند استرداد الخوارزميات من المزوّدين. .PP تُقرأ البيانات المراد توقيعها من BIO \fIdata\fP. .PP \&\fIflags\fP هي مجموعة اختيارية من الأعلام. .PP يمكن تمرير أي من العلامات التالية (مجتمعة بعلامة OR) في معامل \fIflags\fP. .PP تتوقع العديد من عملاء S/MIME أن يتضمن المحتوى الموقّع رؤوس MIME صالحة. إذا وُضع العلم \fBPKCS7_TEXT\fP، تُسبق رؤوس MIME من النوع \f(CW\*(C`text/plain\*(C'\fP إلى البيانات. .PP إذا وُضع \fBPKCS7_NOCERTS\fP، لا تُدرج شهادة الموقّع والشهادات الإضافية \fIcerts\fP في بنية PKCS7. ومع ذلك، يجب توفير شهادة الموقّع في المعامل \fIsigncert\fP. يمكن أن يُقلل هذا من حجم التوقيعات إذا أمكن الحصول على شهادات الموقّع بوسائل أخرى: على سبيل المثال رسالة موقّعة سابقًا. .PP تُدرج البيانات التي تُوقّع في بنية PKCS7، ما لم يُوضع \&\fBPKCS7_DETACHED\fP وفي هذه الحالة تُحذف. يُستخدم هذا للتوقيعات المنفصلة PKCS7 المستخدمة في رسائل S/MIME الموقّعة بنص عادي على سبيل المثال. .PP عادةً يُترجم المحتوى المُقدّم إلى تنسيق MIME القانوني (كما هو مطلوب في مواصفات S/MIME)؛ إذا وُضع \fBPKCS7_BINARY\fP لا يحدث أي ترجمة. يجب استخدام هذا الخيار إذا كانت البيانات المُقدّمة بتنسيق ثنائي وإلا ستُفسدها الترجمة. .PP يتضمن هيكل signedData عدة PKCS#7 authenticatedAttributes بما في ذلك وقت التوقيع، ونوع محتوى PKCS#7 وقائمة التعميات المدعومة في سمة SMIMECapabilities. إذا ضُبط \fBPKCS7_NOATTR\fP فلن تُستخدم أي authenticatedAttributes. وإذا ضُبط \fBPKCS7_NOSMIMECAP\fP فستُحذف فقط SMIMECapabilities. .PP إذا وجدت سمة SMIMECapabilities، فإنها تشير إلى دعم الخوارزميات التالية: DES الثلاثي، وRC2 بـ 128 بت، وRC2 بـ 64 بت، وDES، وRC2 بـ 40 بت. إذا عُطّلت أي من هذه الخوارزميات فلن تُضمّن. .PP إذا وُضع العلم \fBPKCS7_STREAM\fP، فإن بنية \fBPKCS7\fP المُعادة تُهيّأ فقط لتكون جاهزة لتنفيذ عملية التوقيع. ومع ذلك، \&\fBلا\fP يُنفّذ التوقيع ولا تُقرأ البيانات المراد توقيعها من المعامل \fIdata\fP. يُؤجّل التوقيع حتى بعد كتابة البيانات. بهذه الطريقة، يمكن توقيع البيانات في تمريرة واحدة. .PP إذا وُضع العلم \fBPKCS7_PARTIAL\fP، يُخرج بنية \fBPKCS7\fP جزئية يمكن إضافة موقّعين وقدرات إضافية إليها قبل الإنهاء. .PP إذا ضُبِط علم \fBPKCS7_STREAM\fP، فإن هيكل \fBPKCS7\fP المرتجع \fBليس\fP مكتملاً، وإخراج محتوياته عبر دالة لا تنهي هيكل \fBPKCS7\fP بشكل صحيح سيؤدي إلى نتائج غير متوقعة. .PP تقوم عدة دوال بما في ذلك \fBSMIME_write_PKCS7()\fP و \fBi2d_PKCS7_bio_stream()\fP و \&\fBPEM_write_bio_PKCS7_stream()\fP بإنهاء الهيكلية. بدلاً من ذلك، يمكن إجراء الإنهاء بالحصول على تدفق ASN1 \fBBIO\fP مباشرة باستخدام \&\fBBIO_new_PKCS7()\fP. .PP إذا حُدد موقع، فسيستخدم الملخص المبدئي لخوارزمية التوقيع. هذا الملخص هو \fBSHA256\fP لكل من مفاتيح RSA و DSA. .PP يمكن أن تكون المعاملات \fIcerts\fP و\fIsigncert\fP و\fIpkey\fP كلها NULL إذا وُضع العلم \fBPKCS7_PARTIAL\fP. يمكن إضافة موقّع واحد أو أكثر باستخدام الدالة \fBPKCS7_sign_add_signer()\fP. يجب أيضًا استدعاء \fBPKCS7_final()\fP لإنهاء البنية إذا لم يكن البث مُفعّلاً. يمكن أيضًا تحديد ملخصات توقيع بديلة باستخدام هذه الطريقة. .PP إذا كان \fIsigncert\fP و\fIpkey\fP NULL، فإنه يُخرج بنية PKCS#7 تحتوي على شهادات فقط. .PP في إصدارات OpenSSL قبل 1.0.0، يجب ألا تكون المعاملات \fIsigncert\fP و\fIpkey\fP NULL. .PP \&تشبه \fBPKCS7_sign()\fP \fBPKCS7_sign_ex()\fP باستثناء أنها تستخدم قيمًا مبدئية NULL لسياق المكتبة \fIlibctx\fP واستعلام الخاصية \fIpropq\fP. يُحتفظ بهذا للتوافق العكسي لواجهة API. .SH العلل .IX Header العلل بعض السمات المتقدمة مثل التوقيعات المضادة غير مدعومة. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&تُرجع الدالتان \fBPKCS7_sign_ex()\fP و \fBPKCS7_sign()\fP إما بنية PKCS7 صالحة أو NULL إذا حدث خطأ. يمكن الحصول على الخطأ من \fBERR_get_error\fP\|(3). .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBERR_get_error\fP\|(3), \fBPKCS7_verify\fP\|(3) .SH التاريخ .IX Header التاريخ أُضيفت الدالة \fBPKCS7_sign_ex()\fP في OpenSSL 3.0. .PP أُضيفت العلامة \fBPKCS7_PARTIAL\fP، وإمكانية أن تكون المعاملات \fIcerts\fP و \fIsigncert\fP و \fIpkey\fP NULL في OpenSSL 1.0.0. .PP أُضيف علم \fBPKCS7_STREAM\fP في OpenSSL 1.0.0. .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2002\-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 .