SSL_NEW(3ssl)

الاسم
SSL_dup, SSL_new, SSL_up_ref - إنشاء بنية SSL لاتصال

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

 SSL *SSL_dup(SSL *s);
 SSL *SSL_new(SSL_CTX *ctx);
 int SSL_up_ref(SSL *s);

الوصف
تنشئ الدالة SSL_new() بنية SSL جديدة تُحتاج لحفظ بيانات اتصال TLS/SSL. ترث البنية الجديدة إعدادات السياق الأساسي ctx: طريقة الاتصال، الخيارات، إعدادات التحقق، إعدادات المهلة. تُعد بنية SSL ذات عداد مرجعي. يزيد إنشاء بنية SSL لأول مرة من عداد المرجعي. يُنقص تحريرها (باستخدام SSL_free) من العداد. عندما ينخفض العداد المرجعي إلى الصفر، يُحرر أي ذاكرة أو موارد خُصصت لبنية SSL.

تزيد الدالة SSL_up_ref() العداد المرجعي لبنية SSL موجودة.

تنشئ الدالة SSL_dup() وتُعيد بنية SSL جديدة من نفس SSL_CTX الذي استُخدم لإنشاء s. تنسخ بالإضافة إلى ذلك مجموعة فرعية من الإعدادات في s إلى كائن SSL الجديد.

لكي تعمل SSL_dup()، يجب أن يكون الاتصال في حالته الأولية ويجب ألا يكون قد بدأ مصافحة SSL بعد. بالنسبة للاتصالات غير الموجودة في حالتها الأولية، تزيد SSL_dup() فقط عدادًا مرجعيًا داخليًا وتُعيد نفس المقبض نفسه. قد يكون من الممكن استخدام SSL_clear(3) لإعادة تدوير مقبض SSL غير موجود في حالته الأولية لإعادة الاستخدام، لكن من الأفضل تجنب ذلك. بدلاً من ذلك، احفظ واستعد الجلسة، إذا رغبت، وأنشئ مقبضًا جديدًا لكل اتصال.

المجموعة الفرعية من الإعدادات في s التي تُنسخ هي:

أي بيانات جلسة إذا كانت مُهيأة (بما في ذلك session_id_context)
أي إعدادات tmp_dh مُعينة عبر SSL_set_tmp_dh(3)، أو SSL_set_tmp_dh_callback(3)، أو SSL_set_dh_auto(3)
أي شهادات مُهيأة، أو مفاتيح خاصة، أو سلاسل شهادات
أي خوارزميات توقيع مُهيأة، أو خوارزميات توقيع العميل
أي إعدادات DANE
أي خيارات مُعينة عبر SSL_set_options(3)
أي وضع مُعين عبر SSL_set_mode(3)
أي إعدادات بروتوكول دنيا أو قصوى مُعينة عبر SSL_set_min_proto_version(3) أو SSL_set_max_proto_version(3) (ملاحظة: فقط من OpenSSL 1.1.1h وما فوق)
أي وضع تحقق أو استدعاء رجعي أو عمق مُعيَّن عبر SSL_set_verify(3) أو SSL_set_verify_depth(3) أو أي معاملات تحقق X509 مُهيَّأة
أي استدعاء رجعي للرسالة أو استدعاء رجعي للمعلومات مُعيَّن عبر SSL_set_msg_callback(3) أو SSL_set_info_callback(3)
أي استدعاء رجعي مبدئي لكلمة السر مُعيَّن عبر SSL_set_default_passwd_cb(3)
أي استدعاء رجعي لتوليد معرف الجلسة مُعيَّن عبر SSL_set_generate_session_id(3)
أي قائمة معميات مُهيَّأة
حالة القبول الأولي (خادم) أو الاتصال (عميل)
قيمة قائمة الشهادات القصوى المُعيَّنة عبر SSL_set_max_cert_list(3)
قيمة القراءة المسبقة المُعيَّنة عبر SSL_set_read_ahead(3)
بيانات خاصة بالتطبيق مُعيَّنة عبر SSL_set_ex_data(3)
أي قائمة مراجع مصادقة أو قائمة مراجع مصادقة للعميل مُعيَّنة عبر SSL_set0_CA_list(3) أو SSL_set0_client_CA_list() أو دوال مشابهة
أي إعدادات لمستوى الأمان أو استدعاءات رجعية
أي بيانات معلومات الخادم المهيأة
أي تلميح هوية PSK مهيأ
أي امتدادات مخصصة مهيأة
أي أنواع شهادات عميل مهيأة عبر SSL_set1_client_certificate_types

SSL_dup() غير مدعوم على كائنات QUIC SSL وتُرجع NULL إذا استُدعيت على هذا الكائن.

القيم المُرجعة
يمكن أن تحدث قيم الإعادة التالية:

NULL
    فشل إنشاء بنية SSL جديدة. افحص مكدس الأخطاء لمعرفة السبب.

مؤشر إلى بنية SSL
    تشير القيمة المُرجعة إلى بنية SSL مخصصة.

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

انظر أيضًا
SSL_free(3), SSL_clear(3), SSL_CTX_set_options(3), SSL_get_SSL_CTX(3), ssl(7)

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