.\" -*- 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_ADD_SIGNER 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH PKCS7_SIGN_ADD_SIGNER 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_add_signer, PKCS7_add_certificate, PKCS7_add_crl \- إضافة معلومات إلى بنية PKCS7 .SH موجز .IX Header موجز .Vb 1 \& #include \& \& PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, X509 *signcert, \& EVP_PKEY *pkey, const EVP_MD *md, int flags); \& int PKCS7_add_certificate(PKCS7 *p7, X509 *cert); \& int PKCS7_add_crl(PKCS7 *p7, X509_CRL *crl); .Ve .SH الوصف .IX Header الوصف \&\fBPKCS7_sign_add_signer()\fP تُضيف مُوقِّعًا بشهادة \fIsigncert\fP ومفتاح خاص \fIpkey\fP باستخدام ملخّص الرسالة \fImd\fP إلى بنية بيانات موقّعة PKCS7 \fIp7\fP. .PP يجب الحصول على بنية \fBPKCS7\fP من استدعاء أولي لـ \fBPKCS7_sign()\fP مع تعيين العَلَم \fBPKCS7_PARTIAL\fP أو في حالة إعادة توقيع بنية بيانات موقّعة صالحة PKCS#7. .PP إذا كان المُعامل \fImd\fP هو NULL، فسيُستخدم الملخّص المبدئي لخوارزمية المفتاح العام. .PP ما لم يُعيّن العَلَم \fBPKCS7_REUSE_DIGEST\fP، فإن بنية \fBPKCS7\fP المُرجَعة ليست كاملة ويجب إنهاؤها إما عن طريق التدفق (إن أمكن) أو استدعاء \fBPKCS7_final()\fP. .SH ملاحظات .IX Header ملاحظات الغرض الرئيس من هذه الدالة هو توفير تحكم أدق في بنية بيانات موقّعة PKCS#7 حيث لا تكون المبدئيات الأبسط للدالة \fBPKCS7_sign()\fP مناسبة. على سبيل المثال إذا كانت هناك حاجة إلى مُوقِّعين متعددين أو خوارزميات ملخّص غير مبدئية. .PP يمكن تمرير أي من العلامات التالية (مجتمعة بعلامة OR) في معامل \fIflags\fP. .PP إذا عُيّن \fBPKCS7_REUSE_DIGEST\fP، فتُبذل محاولة لنسخ قيمة ملخّص المحتوى من بنية \fBPKCS7\fP: لإضافة مُوقِّع إلى بنية موجودة. يحدث خطأ إذا تعذر العثور على قيمة ملخّص مطابقة لنسخها. ستكون بنية \fBPKCS7\fP المُرجَعة صالحة ومنتهية عند تعيين هذا العَلَم. .PP إذا عُيّن \fBPKCS7_PARTIAL\fP بالإضافة إلى \fBPKCS7_REUSE_DIGEST\fP، فلن تُنهى بنية \&\fBPKCS7_SIGNER_INO\fP بحيث يمكن إضافة سمات إضافية. في هذه الحالة، يلزم استدعاء صريح لـ \fBPKCS7_SIGNER_INFO_sign()\fP لإنهائها. .PP إذا عُيّن \fBPKCS7_NOCERTS\fP، فلن تُضمّن شهادة المُوقِّع في بنية \&\fBPKCS7\fP، ومع ذلك يجب توفير شهادة المُوقِّع في المُعامل \&\fIsigncert\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_sign_add_signers()\fP تُعيد مؤشرًا داخليًا إلى بنية \fBPKCS7_SIGNER_INFO\fP المُضافة للتو، والتي يمكن استخدامها لتعيين سمات إضافية قبل إنهائها. .PP \&\fBPKCS7_add_certificate()\fP تُضيف إلى بنية \fBPKCS7\fP \fIp7\fP الشهادة \&\fIcert\fP، والتي قد تكون شهادة كيان نهائي (مُوقِّع) أو شهادة CA مفيدة لبناء السلسلة. يُنفّذ هذا داخليًا بواسطة \fBPKCS7_sign_ex\fP\|(3) ودوال توقيع مماثلة. قد يلزم استخدامها قبل استدعاء \fBPKCS7_verify\fP\|(3) لتوفير أي شهادات مفقودة مطلوبة للتحقق. .PP \&\fBPKCS7_add_crl()\fP تُضيف CRL \fIcrl\fP إلى بنية \fBPKCS7\fP \fIp7\fP. يمكن استدعاء هذا لتوفير معلومات حالة الشهادة لتضمينها عند التوقيع أو لاستخدامها عند التحقق من بنية \fBPKCS7\fP. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&\fBPKCS7_sign_add_signers()\fP تُعيد مؤشرًا داخليًا إلى بنية \fBPKCS7_SIGNER_INFO\fP المُضافة للتو أو NULL إذا حدث خطأ. .PP \&\fBPKCS7_add_certificate()\fP و \fBPKCS7_add_crl()\fP تُعيدان 1 عند النجاح، 0 عند الخطأ. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBERR_get_error\fP\|(3), \fBPKCS7_sign_ex\fP\|(3), \&\fBPKCS7_final\fP\|(3), \fBPKCS7_verify\fP\|(3) .SH التاريخ .IX Header التاريخ أُضيفت الدالة \fBPPKCS7_sign_add_signer()\fP في OpenSSL 1.0.0. .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2007\-2016 لمؤلفي مشروع 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 .