.\" -*- 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 "PKCS12_CREATE 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH PKCS12_CREATE 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 الاسم PKCS12_create, PKCS12_create_ex, PKCS12_create_cb, PKCS12_create_ex2 \- إنشاء بنية PKCS#12 .SH موجز .IX Header موجز .Vb 1 \& #include \& \& PKCS12 *PKCS12_create(const char *pass, const char *name, EVP_PKEY *pkey, \& X509 *cert, STACK_OF(X509) *ca, \& int nid_key, int nid_cert, int iter, int mac_iter, int keytype); \& PKCS12 *PKCS12_create_ex(const char *pass, const char *name, EVP_PKEY *pkey, \& X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert, \& int iter, int mac_iter, int keytype, \& OSSL_LIB_CTX *ctx, const char *propq); \& \& typedef int PKCS12_create_cb(PKCS12_SAFEBAG *bag, void *cbarg); \& \& PKCS12 *PKCS12_create_ex2(const char *pass, const char *name, EVP_PKEY *pkey, \& X509 *cert, STACK_OF(X509) *ca, int nid_key, int nid_cert, \& int iter, int mac_iter, int keytype, \& OSSL_LIB_CTX *ctx, const char *propq, \& PKCS12_create_cb *cb, void *cbarg); \&=head1 DESCRIPTION .Ve .PP \&\fBPKCS12_create()\fP تُنشئ بنية PKCS#12. .PP \&\fIpass\fP هي عبارة السر المستخدمة. \fIname\fP هو \fBfriendlyName\fP المستخدم للشهادة والمفتاح المُقدمين. \fIpkey\fP هو المفتاح الخاص المُضمَّن في البنية و \fIcert\fP شهاداته المقابلة. \fIca\fP، إذا لم يكن \fBNULL\fP، هي مجموعة اختيارية من الشهادات التي تُضمَّن أيضًا في البنية. .PP \&\fInid_key\fP و \fInid_cert\fP هما خوارزميات التعمية المستخدمة للمفتاح والشهادة على التوالي. الأوضاع GCM و CCM و XTS و OCB غير مدعومة. \fIiter\fP هو عدد تكرارات خوارزمية التعمية المستخدمة و \fImac_iter\fP هو عدد تكرارات MAC المستخدمة. \&\fIkeytype\fP هو نوع المفتاح. .PP \&\fBPKCS12_create_ex()\fP مطابق لـ \fBPKCS12_create()\fP لكنه يسمح باستخدام سياق مكتبة \&\fIctx\fP واستعلام خاصية \fIpropq\fP لاختيار تطبيقات الخوارزمية. .PP \&\fBPKCS12_create_ex2()\fP مطابق لـ \fBPKCS12_create_ex()\fP لكنه يسمح بتحديد استدعاء رجعي مُعرَّف من قبل المستخدم \fIcb\fP من النوع \fBPKCS12_create_cb\fP ويسمح أيضًا بتمرير وسيطة اختيارية \fIcbarg\fP إلى الاستدعاء الرجعي. .PP \fIcb\fP إذا تم تحديده، يُستدعى لكل حقيبة آمنة مضافة إلى بنية PKCS12 ويسمح بمعالجة تطبيق اختيارية على الحقيبة الآمنة المرتبطة. على سبيل المثال، أحد هذه الاستخدامات قد يكون إضافة سمات إلى الحقيبة الآمنة. .SH ملاحظات .IX Header ملاحظات المعاملات \fInid_key\fP و \fInid_cert\fP و \fIiter\fP و \fImac_iter\fP و \fIkeytype\fP يمكن ضبطها جميعًا إلى الصفر وسيتم استخدام قيم مبدئية معقولة. .PP هذه القيم المبدئية هي: تعمية قائمة على كلمة السر AES (PBES2 مع PBKDF2 و AES\-256\-CBC) للمفاتيح الخاصة والشهادات، عدد تكرارات اشتقاق مفتاح PBKDF2 و MAC بقيمة \fBPKCS12_DEFAULT_ITER\fP (حاليًا 2048)، وخوارزمية MAC HMAC مع SHA2\-256. خوارزمية اشتقاق مفتاح MAC المستخدمة لبنية PKCS#12 الخارجية هي PKCS12KDF. .PP عدد تكرارات MAC المبدئي هو 1 للحفاظ على التوافق مع البرامج القديمة التي لم تفسر أعداد تكرارات MAC. إذا لم يكن هذا التوافق مطلوبًا، فيجب ضبط \fImac_iter\fP إلى PKCS12_DEFAULT_ITER. .PP \&\fIkeytype\fP يُضيف علامة إلى المفتاح الخاص المخزن. هذا امتداد غير قياسي يُفسر حاليًا فقط بواسطة MSIE. إذا ضُبط إلى الصفر، تُحذف العلامة، إذا ضُبط إلى \fBKEY_SIG\fP، يمكن استخدام المفتاح للتوقيع فقط، إذا ضُبط إلى \fBKEY_EX\fP، يمكن استخدامه للتوقيع والتعمية. كان هذا الخيار مفيدًا للبرامج القديمة من فئة التصدير التي يمكنها استخدام مفاتيح توقيع فقط بأي حجم ولكن لديها قيود على الأحجام المسموح بها للمفاتيح التي يمكن استخدامها للتعمية. .PP إذا كان \fIname\fP هو \fBNULL\fP واحتوى \fIcert\fP على \fIalias\fP، فسيُستخدم هذا لـ \fBfriendlyName\fP المقابل في بنية PKCS12 بدلاً من ذلك. بالمثل، إذا كان \fIpkey\fP هو NULL واحتوى \fIcert\fP على \fIkeyid\fP، فسيُستخدم هذا لـ \fBlocalKeyID\fP المقابل في بنية PKCS12 بدلاً من المعرف المحسوب من \fIpkey\fP. .PP لجميع الشهادات في \fIca\fP، إذا احتوت شهادة على \fIalias\fP أو \&\fIkeyid\fP، فسيُستخدم هذا لـ \fBfriendlyName\fP أو \&\fBlocalKeyID\fP المقابل في بنية PKCS12. .PP أي من \fIpkey\fP أو \fIcert\fP أو كليهما يمكن أن يكون \fBNULL\fP للإشارة إلى عدم الحاجة إلى مفتاح أو شهادة. في الإصدارات السابقة، كان يجب وجود كليهما أو يُرجع خطأ فادح. .PP \&\fInid_key\fP أو \fInid_cert\fP يمكن ضبطه إلى \-1 للإشارة إلى عدم استخدام أي تعمية. .PP يمكن ضبط \&\fImac_iter\fP إلى \-1 وسيتم حذف MAC بالكامل. قد يكون هذا مفيدًا عند التشغيل مع مزود FIPS حيث أن PKCS12KDF ليس خوارزمية معتمدة من FIPS. .PP تفترض \&\fBPKCS12_create()\fP افتراضات حول ترميز عبارة المرور المعطاة. انظر \fBpassphrase\-encoding\fP\|(7) لمزيد من المعلومات. .PP إذا تم تحديد \fIcb\fP، فيجب أن يُرجع 1 للنجاح و \-1 لخطأ فادح. يُقصد من إرجاع 0 عدم إضافة الحقيبة بعد كل شيء. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" تُرجع \&\fBPKCS12_create()\fP بنية \fBPKCS12\fP صالحة أو NULL إذا حدث خطأ. .SH "متوافق مع" .IX Header "متوافق مع" IETF RFC 7292 () .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBEVP_KDF\-PKCS12KDF\fP\|(7)، \&\fBd2i_PKCS12\fP\|(3)، \&\fBOSSL_PROVIDER\-FIPS\fP\|(7)، \&\fBpassphrase\-encoding\fP\|(7) .SH التاريخ .IX Header التاريخ أُضيفت \&\fBPKCS12_create_ex()\fP في OpenSSL 3.0. أُضيفت \&\fBPKCS12_create_ex2()\fP في OpenSSL 3.2. .PP غُيّرت المبدئيات لخوارزميات التعمية، وخوارزمية MAC، وعدد تكرارات اشتقاق مفتاح MAC في OpenSSL 3.0 إلى معايير أكثر حداثة. .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2002\-2024 لمؤلفي مشروع 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 .