Scroll to navigation

BN_COPY(3SSL) OpenSSL BN_COPY(3SSL)

الاسم

BN_copy, BN_dup, BN_with_flags - نسخ BIGNUMs

موجز

 #include <openssl/bn.h>
 BIGNUM *BN_copy(BIGNUM *to, const BIGNUM *from);
 BIGNUM *BN_dup(const BIGNUM *from);
 void BN_with_flags(BIGNUM *dest, const BIGNUM *b, int flags);

الوصف

BN_copy() تنسخ from إلى to. BN_dup() تنشئ BIGNUM جديد يحتوي القيمة from.

تنشئ BN_with_flags نسخة ضحلة temporary من b في dest. تفرض قيودًا كبيرة على البيانات المنسوخة. التطبيقات التي لا تلتزم بهذه القيود قد تواجه آثارًا جانبية غير متوقعة أو أعطالًا. لهذا السبب، يُثبط استخدام هذه الدالة. أي أعلام مقدمة في flags ستُضبط في dest بالإضافة إلى أي أعلام مضبوطة بالفعل في b. على سبيل المثال، قد يُستخدم هذا عادةً لإنشاء نسخة مؤقتة من BIGNUM مع ضبط العلم BN_FLG_CONSTTIME لعمليات الوقت الثابت. ستشارك النسخة المؤقتة في dest بعض الحالة الداخلية مع b. لهذا السبب، تنطبق القيود التالية على استخدام dest:

  • يجب أن يكون dest BIGNUM مخصص حديثًا تم الحصول عليه عبر استدعاء BN_new(). يجب ألا يكون قد استُخدم لأغراض أخرى أو أُعد بأي شكل.
  • يجب استخدام dest فقط في عمليات "للقراءة فقط"، أي عادةً تلك الدوال حيث يُصرح المعامل ذو الصلة بأنه "const".
  • يجب استخدام dest وتحريره قبل أي استخدام لاحق إضافي لـ b

القيم المُرجعة

ترجع BN_copy() to عند النجاح، وNULL عند الخطأ. ترجع BN_dup() BIGNUM الجديد، وNULL عند الخطأ. يمكن الحصول على رموز الخطأ بواسطة ERR_get_error(3).

انظر أيضًا

ERR_get_error(3)

حقوق النسخ

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

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

ترجمة

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

7 أبريل 2026 3.6.2