.\" -*- 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 "EVP_PKEY_CTX_NEW 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH EVP_PKEY_CTX_NEW 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 الاسم EVP_PKEY_CTX_new, EVP_PKEY_CTX_new_id, EVP_PKEY_CTX_new_from_name, EVP_PKEY_CTX_new_from_pkey, EVP_PKEY_CTX_dup, EVP_PKEY_CTX_free, EVP_PKEY_CTX_is_a \&\- دوال سياق خوارزمية المفتاح العمومي .SH موجز .IX Header موجز .Vb 1 \& #include \& \& EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); \& EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); \& EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_name(OSSL_LIB_CTX *libctx, \& const char *name, \& const char *propquery); \& EVP_PKEY_CTX *EVP_PKEY_CTX_new_from_pkey(OSSL_LIB_CTX *libctx, \& EVP_PKEY *pkey, \& const char *propquery); \& EVP_PKEY_CTX *EVP_PKEY_CTX_dup(const EVP_PKEY_CTX *ctx); \& void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); \& int EVP_PKEY_CTX_is_a(EVP_PKEY_CTX *ctx, const char *keytype); .Ve .SH الوصف .IX Header الوصف تخصص الدالة \fBEVP_PKEY_CTX_new()\fP سياق خوارزمية المفتاح العمومي باستخدام نوع المفتاح \fIpkey\fP ومحرك ENGINE \fIe\fP. .PP تخصص الدالة \fBEVP_PKEY_CTX_new_id()\fP سياق خوارزمية المفتاح العمومي باستخدام نوع المفتاح المحدد بواسطة \fIid\fP ومحرك ENGINE \fIe\fP. .PP تخصص الدالة \fBEVP_PKEY_CTX_new_from_name()\fP سياق خوارزمية المفتاح العمومي باستخدام سياق المكتبة \fIlibctx\fP (انظر \fBOSSL_LIB_CTX\fP\|(3))، ونوع المفتاح المحدد بواسطة \fIname\fP واستعلام الخاصية \fIpropquery\fP. لا تُنسخ أي من الوسائط، لذا يجب أن تبقى دون تغيير طوال عمر \fBEVP_PKEY_CTX\fP المُعاد أو أي من نسخه. اقرأ المزيد عن الأسماء الممكنة في "ملاحظات" أدناه. .PP تخصص الدالة \fBEVP_PKEY_CTX_new_from_pkey()\fP سياق خوارزمية المفتاح العمومي باستخدام سياق المكتبة \fIlibctx\fP (انظر \fBOSSL_LIB_CTX\fP\|(3)) والخوارزمية المحددة بواسطة \fIpkey\fP واستعلام الخاصية \fIpropquery\fP. لا تُنسخ أي من الوسائط، لذا يجب أن تبقى دون تغيير طوال عمر \fBEVP_PKEY_CTX\fP المُعاد أو أي من نسخه. .PP \&تُستخدم \fBEVP_PKEY_CTX_new_id()\fP و \fBEVP_PKEY_CTX_new_from_name()\fP عادةً عندما لا يرتبط أي هيكل \fBEVP_PKEY\fP بالعمليات، مثلاً أثناء توليد المعاملات أو توليد المفاتيح لبعض الخوارزميات. .PP \&تنسخ \fBEVP_PKEY_CTX_dup()\fP السياق \fIctx\fP. لا تُدعم لعملية توليد المفاتيح. لكن من الممكن نسخ سياق أُنشئ حديثاً عبر أي من دوال \f(CW\*(C`new\*(C'\fP أعلاه، بشرط ألا تُستدعى \fBEVP_PKEY_keygen_init\fP\|(3) بعد على السياق المصدر، ثم تُستخدم النسخة لتوليد المفاتيح. .PP \&تحرر \fBEVP_PKEY_CTX_free()\fP السياق \fIctx\fP. إذا كان \fIctx\fP هو NULL، لا يُفعل شيء. .PP \&تتحقق \fBEVP_PKEY_is_a()\fP مما إذا كان نوع المفتاح المرتبط بـ \fIctx\fP هو \fIkeytype\fP. .SH ملاحظات .IX Header ملاحظات .SS "حول EVP_PKEY_CTX" .IX Subsection "حول EVP_PKEY_CTX" هيكل \fBEVP_PKEY_CTX\fP هو سياق خوارزمية مفتاح عمومي غير شفاف يُستخدم بواسطة واجهة برمجة التطبيقات عالية المستوى للمفتاح العمومي في OpenSSL. السياقات \fBيجب ألا\fP تُشارك بين الخيوط: أي أنه لا يُسمح باستخدام نفس السياق في وقت واحد في خيطين. .SS "حول أنواع المفاتيح" .IX Subsection "حول أنواع المفاتيح" نذكر "نوع المفتاح" في هذا الدليل، وهو نفس "الخوارزمية" في معظم الحالات، مما يسمح باستخدام أي من المصطلحين بالتبادل. توجد خوارزميات حيث \fIنوع المفتاح\fP و \&\fIالخوارزمية\fP للعمليات التي تستخدم المفاتيح ليسا نفس الشيء، مثل مفاتيح EC المستخدمة لعمليات ECDSA و ECDH. .PP تُعطى أنواع المفاتيح بطريقتين مختلفتين: .IP "نوع NID القديم أو EVP_PKEY" 4 .IX Item "نوع NID القديم أو EVP_PKEY" هذا هو \fIid\fP المستخدم مع \fBEVP_PKEY_CTX_new_id()\fP. .Sp هذه هي \fBEVP_PKEY_RSA\fP، \fBEVP_PKEY_RSA_PSS\fP، \fBEVP_PKEY_DSA\fP، \&\fBEVP_PKEY_DH\fP، \fBEVP_PKEY_EC\fP، \fBEVP_PKEY_SM2\fP، \fBEVP_PKEY_X25519\fP، \&\fBEVP_PKEY_X448\fP، وتُستخدم بواسطة الطرق القديمة. .IP "سلاسل المحارف الاسمية" 4 .IX Item "سلاسل المحارف الاسمية" هذا هو \fIالاسم\fP المستخدم مع \fBEVP_PKEY_CTX_new_from_name()\fP. .Sp هذه أسماء مثل "RSA"، "DSA"، وما هو متاح يعتمد على المزودين المتاحين حالياً. .Sp يقدم مزودو OpenSSL مجموعة من أنواع المفاتيح المتاحة بهذه الطريقة، يُرجى الاطلاع على \fBOSSL_PROVIDER\-FIPS\fP\|(7) و \fBOSSL_PROVIDER\-default\fP\|(7) والوثائق ذات الصلة لمزيد من المعلومات. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&تُرجع \fBEVP_PKEY_CTX_new()\fP و \fBEVP_PKEY_CTX_new_id()\fP و \fBEVP_PKEY_CTX_dup()\fP إما بنية \fBEVP_PKEY_CTX\fP المخصصة حديثاً أو \fBNULL\fP إذا حدث خطأ. .PP \&لا تُرجع \fBEVP_PKEY_CTX_free()\fP قيمة. .PP \&تُرجع \fBEVP_PKEY_CTX_is_a()\fP 1 للصواب و 0 للخطأ. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBEVP_PKEY_new\fP\|(3) .SH التاريخ .IX Header التاريخ أُضيفت الدوال \fBEVP_PKEY_CTX_new()\fP و \fBEVP_PKEY_CTX_new_id()\fP و \fBEVP_PKEY_CTX_dup()\fP و \&\fBEVP_PKEY_CTX_free()\fP في OpenSSL 1.0.0. .PP أُضيفت الدالتان \fBEVP_PKEY_CTX_new_from_name()\fP و \fBEVP_PKEY_CTX_new_from_pkey()\fP في OpenSSL 3.0. .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2006\-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 .