EVP_OPENINIT(3SSL)

الاسم
EVP_OpenInit, EVP_OpenUpdate, EVP_OpenFinal - فك تعمية المغلف EVP

موجز
 #include <openssl/evp.h>

 int EVP_OpenInit(EVP_CIPHER_CTX *ctx, EVP_CIPHER *type, unsigned char *ek,
                  int ekl, unsigned char *iv, EVP_PKEY *priv);
 int EVP_OpenUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
                    int *outl, unsigned char *in, int inl);
 int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl);

الوصف
إجراءات المغلف EVP هي واجهة عالية المستوى لفك تعمية المغلف. تقوم بتعمية المفتاح المتناظر المُعمّى بمفتاح عام ثم تفك تعمية البيانات باستخدامه.

EVP_OpenInit() تبدأ سياق المُعمّي ctx لفك التعمية باستخدام المُعمّي type. تفك تعمية المفتاح المتناظر المُعمّى بطول ekl بايت المُمرّر في المعامل ek باستخدام المفتاح الخاص priv. يُزوّد IV في المعامل iv.

EVP_OpenUpdate() و EVP_OpenFinal() لهما نفس الخصائص تمامًا كإجراءات EVP_DecryptUpdate() و EVP_DecryptFinal()، كما هو موثّق في صفحة الدليل EVP_EncryptInit(3).

ملاحظات
من الممكن استدعاء EVP_OpenInit() مرتين بنفس طريقة EVP_DecryptInit(). يجب أن يكون الاستدعاء الأول مع priv مُعيَّنًا إلى NULL و(بعد تعيين أي معاملات مُعمّي) يجب استدعاؤه مرة أخرى مع type مُعيَّنًا إلى NULL.

إذا كان المُعمّي المُمرّر في المعامل type هو مُعمّي متغير الطول، فسيُعيَّن طول المفتاح إلى قيمة طول المفتاح المُستعاد. إذا كان المُعمّي ثابت الطول، فيجب أن يطابق طول المفتاح المُستعاد طول المُعمّي الثابت.

القيم المُرجعة
EVP_OpenInit() تُرجع 0 عند الخطأ أو عددًا صحيحًا غير صفري (في الواقع حجم المفتاح السري المُستعاد) إذا نجحت.

EVP_OpenUpdate() تُرجع 1 للنجاح أو 0 للفشل.

EVP_OpenFinal() تُرجع 0 إذا فشل فك التعمية أو 1 للنجاح.

انظر أيضًا
evp(7), RAND_bytes(3), EVP_EncryptInit(3), EVP_SealInit(3)

حقوق النسخ
حقوق النشر 2000-2020 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة.

مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط <https://www.openssl.org/source/license.html>.

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.