X509_NEW(3SSL)

الاسم
X509_new, X509_new_ex, X509_free, X509_up_ref, X509_chain_up_ref, OSSL_STACK_OF_X509_free - دوال تخصيص وإلغاء تخصيص شهادة X509 ASN1

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

 X509 *X509_new(void);
 X509 *X509_new_ex(OSSL_LIB_CTX *libctx, const char *propq);
 void X509_free(X509 *a);
 int X509_up_ref(X509 *a);
 STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *x);
 void OSSL_STACK_OF_X509_free(STACK_OF(X509) *certs);

الوصف
تخصص روتينات تخصيص X509 ASN1 وتحرر بنية X509، التي تمثل شهادة X509.

X509_new_ex() تخصص وتهيئ بنية X509 بسياق مكتبة libctx، واستعلام خاصية propq، وعدد مرجعي 1. تستخدم العديد من دوال X509 مثل X509_check_purpose() و X509_verify() سياق المكتبة هذا لاختيار المزودين الذين يوردون الخوارزميات المُجلَبة (يُستخدم SHA1 داخليًا). يمكن بعد ذلك استخدام كائن X509 المُنشأ هذا عند تحميل بيانات ثنائية باستخدام d2i_X509().

X509_new() مشابهة لـ X509_new_ex() لكنها تضبط سياق المكتبة واستعلام الخاصية على NULL. يؤدي هذا إلى استخدام سياق المكتبة المبدئي (NULL) لأي عمليات X509 تتطلب جلب خوارزميات.

X509_free() تُنقص العدد المرجعي لبنية X509 a وتحررها إذا كان العدد المرجعي صفرًا. إذا كانت الوسيطة NULL، لا يُفعل شيء.

X509_up_ref() تزيد العدد المرجعي لـ a.

X509_chain_up_ref() تزيد العدد المرجعي لجميع الشهادات في السلسلة x وتُرجع نسخة من الرصة، أو رصة فارغة إذا كانت a NULL.

OSSL_STACK_OF_X509_free() تلغي تخصيص قائمة المؤشرات المُعطاة للشهادات بعد استدعاء X509_free() على جميع عناصرها. إذا كانت الوسيطة NULL، لا يُفعل شيء.

ملاحظات
الدالة X509_up_ref() مفيدة إذا كانت بنية شهادة تُستخدم من قبل عدة عمليات مختلفة، كل منها سيحررها بعد الاستخدام: هذا يتجنب الحاجة إلى نسخ بنية الشهادة بأكملها.

الدالة X509_chain_up_ref() لا تزيد فقط عدد مراجع كل شهادة. بل تُعيد أيضًا نسخة من الرصة، باستخدام sk_X509_dup()، لكنها تخدم غرضًا مشابهًا: السلسلة المُعادة تبقى بعد تحرير الأصل.

القيم المُرجعة
إذا فشل التخصيص، تُرجع X509_new() NULL وتضبط رمز خطأ يمكن الحصول عليه بواسطة ERR_get_error(3). وإلا تُرجع مؤشرًا إلى البنية المُخصصة حديثًا.

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

X509_chain_up_ref() تُرجع نسخة من الرصة أو NULL إذا حدث خطأ.

OSSL_STACK_OF_X509_free() ليس لها قيمة إرجاع.

انظر أيضًا
d2i_X509(3), ERR_get_error(3), X509_CRL_get0_by_serial(3), X509_get0_signature(3), X509_get_ext_d2i(3), X509_get_extension_flags(3), X509_get_pubkey(3), X509_get_subject_name(3), X509_get_version(3), X509_NAME_add_entry_by_txt(3), X509_NAME_ENTRY_get_object(3), X509_NAME_get_index_by_NID(3), X509_NAME_print_ex(3), X509_sign(3), X509V3_get_d2i(3), X509_verify_cert(3)

التاريخ
X509_new_ex() أُضيفت في OpenSSL 3.0.

OSSL_STACK_OF_X509_free() أُضيفت في OpenSSL 3.2.

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