RSA_PRIVATE_ENCRYPT(3ssl)

الاسم
RSA_private_encrypt, RSA_public_decrypt - عمليات توقيع منخفضة المستوى

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

الدوال التالية أصبحت مهجورة منذ OpenSSL 3.0، ويمكن إخفاؤها تماماً عن طريق تعريف OPENSSL_API_COMPAT بقيمة إصدار مناسبة، انظر openssl_user_macros(7):

 int RSA_private_encrypt(int flen, unsigned char *from,
                         unsigned char *to, RSA *rsa, int padding);

 int RSA_public_decrypt(int flen, unsigned char *from,
                        unsigned char *to, RSA *rsa, int padding);

الوصف
كِلتا الدالتين الموصوفتين في هذه الصفحة مهملتان. يجب على التطبيقات بدلاً من ذلك استخدام EVP_PKEY_sign_init_ex(3)، EVP_PKEY_sign(3)، EVP_PKEY_verify_recover_init(3)، و EVP_PKEY_verify_recover(3).

تتعامل هاتان الدالتان مع توقيعات RSA على مستوى منخفض.

RSA_private_encrypt() توقع البايتات flen عند from (عادةً ملخص رسالة مع معرّف خوارزمية) باستخدام المفتاح الخاص rsa وتخزن التوقيع في to. يجب أن يشير to إلى RSA_size(rsa) بايت من الذاكرة.

padding يشير إلى أحد الأوضاع التالية:

RSA_PKCS1_PADDING
    حشو PKCS #1 v1.5. لا تتعامل هذه الدالة مع algorithmIdentifier المحدد في PKCS #1. عند إنشاء أو التحقق من توقيعات PKCS #1، يجب استخدام RSA_sign(3) و RSA_verify(3).

RSA_NO_PADDING
    توقيع RSA خام. يجب فقط استخدام هذا الوضع لتنفيذ أنماط حشو سليمة تشفيريًا في كود التطبيق. توقيع بيانات المستخدم مباشرةً مع RSA غير آمن.

RSA_public_decrypt() تستعيد ملخص الرسالة من التوقيع بطول flen بايت عند from باستخدام المفتاح العام للموقّع rsa. يجب أن يشير to إلى قسم ذاكرة كبير بما يكفي لاحتواء ملخص الرسالة (والذي هو أصغر من RSA_size(rsa) - 11). padding هو نمط الحشو الذي استُخدم لتوقيع البيانات.

القيم المُرجعة
RSA_private_encrypt() تُرجع حجم التوقيع (أي RSA_size(rsa)). RSA_public_decrypt() تُرجع حجم ملخص الرسالة المستعاد.

عند حدوث خطأ، يُعاد -1؛ ويمكن الحصول على رموز الخطأ من خلال ERR_get_error(3).

انظر أيضًا
ERR_get_error(3)، RSA_sign(3)، RSA_verify(3)، EVP_PKEY_sign(3)، EVP_PKEY_verify_recover(3)

التاريخ
كلا الدالتين مهجورتان في OpenSSL 3.0.

حقوق النسخ
حقوق النشر 2000-2021 لمؤلفي مشروع 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.