.\" -*- 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_VERIFY_RECOVER 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH EVP_PKEY_VERIFY_RECOVER 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_verify_recover_init, EVP_PKEY_verify_recover_init_ex, EVP_PKEY_verify_recover_init_ex2, EVP_PKEY_verify_recover \&\- استعادة التوقيع باستخدام خوارزمية المفتاح العام .SH موجز .IX Header موجز .Vb 1 \& #include \& \& int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx); \& int EVP_PKEY_verify_recover_init_ex(EVP_PKEY_CTX *ctx, \& const OSSL_PARAM params[]); \& int EVP_PKEY_verify_recover_init_ex2(EVP_PKEY_CTX *ctx, EVP_SIGNATURE *algo, \& const OSSL_PARAM params[]); \& int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, \& unsigned char *rout, size_t *routlen, \& const unsigned char *sig, size_t siglen); .Ve .SH الوصف .IX Header الوصف \&\fBEVP_PKEY_verify_recover_init()\fP يُهيئ سياق خوارزمية المفتاح العام \&\fIctx\fP للتوقيع باستخدام الخوارزمية المُعطاة عند إنشاء السياق باستخدام \fBEVP_PKEY_CTX_new\fP\|(3) أو متغيراتها. تُستخدم الخوارزمية لجلب طريقة \fBEVP_SIGNATURE\fP ضمنيًا، انظر "الجلب الضمني" في \fBprovider\fP\|(7) لمزيد من المعلومات حول الجلب الضمني. .PP \&\fBEVP_PKEY_verify_recover_init_ex()\fP مماثلة لـ \&\fBEVP_PKEY_verify_recover_init()\fP ولكنها تُعين أيضًا المُعاملات المُمررة \&\fIparams\fP على السياق قبل الإرجاع. .PP \&\fBEVP_PKEY_verify_recover_init_ex2()\fP مماثلة لـ \fBEVP_PKEY_verify_recover_init_ex()\fP، ولكنها تعمل مع \fBEVP_SIGNATURE\fP \fIalgo\fP مأخوذ صراحة. لا يمكن استخدام سياق \fIctx\fP بدون مفتاح مُحمّل مسبقًا مع هذه الدالة. اعتمادًا على الخوارزمية التي جُلبت، قد تكون بعض التفاصيل المتعلقة بمعالجة المُدخل إلى \fBEVP_PKEY_verify()\fP مُحددة مسبقًا، وفي هذه الحالة، لا يمكن تغيير تلك التفاصيل عادةً. انظر "ملاحظات" أدناه للحصول على شرح أعمق. .PP الدالة \fBEVP_PKEY_verify_recover()\fP تستعيد البيانات المُوقعة باستخدام \fIctx\fP. يُحدد التوقيع باستخدام المُعاملين \fIsig\fP و \&\fIsiglen\fP. إذا كان \fIrout\fP فارغًا، يُكتب الحجم الأقصى للمُخزن المُخرج إلى المُعامل \fIroutlen\fP. إذا لم يكن \fIrout\fP فارغًا، فيجب أن يحتوي المُعامل \fIroutlen\fP قبل الاستدعاء على طول المُخزن \&\fIrout\fP، إذا كان الاستدعاء ناجحًا، تُكتب البيانات المستعادة إلى \&\fIrout\fP وتُكتب كمية البيانات إلى \fIroutlen\fP. .SH ملاحظات .IX Header ملاحظات عادةً ما يهتم التطبيق فقط بما إذا كانت عملية التحقق من التوقيع ناجحة، في تلك الحالات يجب استخدام الدالة \fBEVP_verify()\fP. .PP ومع ذلك، في بعض الأحيان يكون من المفيد الحصول على البيانات المُوقعة أصلاً باستخدام عملية التوقيع. فقط بعض خوارزميات المفتاح العام يمكنها استعادة توقيع بهذه الطريقة (مثل RSA في وضع حشو PKCS). .PP بعد استدعاء \fBEVP_PKEY_verify_recover_init()\fP، يمكن تنفيذ عمليات تحكم خاصة بالخوارزمية لتعيين أي مُعاملات مناسبة للعملية. .PP بعد استدعاء \fBEVP_PKEY_verify_recover_init_ex2()\fP، قد لا تكون عمليات التحكم الخاصة بالخوارزمية ضرورية إذا كانت الخوارزمية المُختارة تعني أن تلك الضوابط مُحددة مسبقًا (وغير قابلة للتغيير). .PP يمكن استدعاء الدالة \fBEVP_PKEY_verify_recover()\fP أكثر من مرة على نفس السياق إذا تم تنفيذ عدة عمليات باستخدام نفس المُعاملات. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&\fBEVP_PKEY_verify_recover_init()\fP و \fBEVP_PKEY_verify_recover()\fP تُرجعان 1 للنجاح و 0 أو قيمة سالبة للفشل. على وجه الخصوص، تشير قيمة الإرجاع \-2 إلى أن العملية غير مدعومة من قبل خوارزمية المفتاح العام. .SH أمثلة .IX Header أمثلة استعادة الملخص المُوقع أصلاً باستخدام PKCS#1 وملخص SHA256: .PP .Vb 2 \& #include \& #include \& \& EVP_PKEY_CTX *ctx; \& unsigned char *rout, *sig; \& size_t routlen, siglen; \& EVP_PKEY *verify_key; \& \& /* \& * NB: يفترض أن verify_key و sig و siglen قد أُعدت بالفعل \& * وأن verify_key هو مفتاح عام RSA \& */ \& ctx = EVP_PKEY_CTX_new(verify_key, NULL /* لا محرك */); \& if (!ctx) \& /* حدث خطأ */ \& if (EVP_PKEY_verify_recover_init(ctx) <= 0) \& /* خطأ */ \& if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_PADDING) <= 0) \& /* خطأ */ \& if (EVP_PKEY_CTX_set_signature_md(ctx, EVP_sha256()) <= 0) \& /* خطأ */ \& \& /* تحديد طول المُخزن */ \& if (EVP_PKEY_verify_recover(ctx, NULL, &routlen, sig, siglen) <= 0) \& /* خطأ */ \& \& rout = OPENSSL_malloc(routlen); \& \& if (!rout) \& /* فشل malloc */ \& \& if (EVP_PKEY_verify_recover(ctx, rout, &routlen, sig, siglen) <= 0) \& /* خطأ */ \& \& /* البيانات المستعادة هي routlen بايت مكتوبة في المُخزن rout */ .Ve .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBEVP_PKEY_CTX_new\fP\|(3), \&\fBEVP_PKEY_encrypt\fP\|(3), \&\fBEVP_PKEY_decrypt\fP\|(3), \&\fBEVP_PKEY_sign\fP\|(3), \&\fBEVP_PKEY_verify\fP\|(3), \&\fBEVP_PKEY_derive\fP\|(3) .SH التاريخ .IX Header التاريخ أُضيفت الدالتان \fBEVP_PKEY_verify_recover_init()\fP و \fBEVP_PKEY_verify_recover()\fP في OpenSSL 1.0.0. .PP أُضيفت الدالة \fBEVP_PKEY_verify_recover_init_ex()\fP في OpenSSL 3.0. .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2013\-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 .