Scroll to navigation

SSL_CTX_SET_SESSION_ID_CONTEXT(3SSL) OpenSSL SSL_CTX_SET_SESSION_ID_CONTEXT(3SSL)

الاسم

SSL_CTX_set_session_id_context, SSL_set_session_id_context - ضبط السياق الذي يمكن فيه إعادة استخدام الجلسة (جانب الخادم فقط)

موجز

 #include <openssl/ssl.h>
 int SSL_CTX_set_session_id_context(SSL_CTX *ctx, const unsigned char *sid_ctx,
                                    unsigned int sid_ctx_len);
 int SSL_set_session_id_context(SSL *ssl, const unsigned char *sid_ctx,
                                unsigned int sid_ctx_len);

الوصف

SSL_CTX_set_session_id_context() يضبط السياق sid_ctx بطول sid_ctx_len الذي يمكن فيه إعادة استخدام جلسة للكائن ctx.

SSL_set_session_id_context() يضبط السياق sid_ctx بطول sid_ctx_len الذي يمكن فيه إعادة استخدام جلسة للكائن ssl.

ملاحظات

تُنشأ الجلسات ضمن سياق معين. عند تصدير/استيراد الجلسات باستخدام i2d_SSL_SESSION/d2i_SSL_SESSION، قد يكون من الممكن إعادة استيراد جلسة مولدة من سياق آخر (مثل تطبيق آخر)، مما قد يؤدي إلى أعطال. لذلك، يجب على كل تطبيق ضبط سياق معرف الجلسة الخاص به sid_ctx الذي يُستخدم لتمييز السياقات ويُخزن في الجلسات المصدرة. يمكن أن يكون sid_ctx أي نوع من البيانات الثنائية بطول معين، وبالتالي من الممكن استخدام مثلاً اسم التطبيق و/أو اسم المضيف و/أو اسم الخدمة...

يصبح سياق معرف الجلسة جزءًا من الجلسة. يُضبط سياق معرف الجلسة بواسطة خادم SSL/TLS. لذلك، تكون الدالتان SSL_CTX_set_session_id_context() وSSL_set_session_id_context() مفيدتين فقط على جانب الخادم.

الحد الأقصى لطول sid_ctx مقيد بـSSL_MAX_SID_CTX_LENGTH.

تحذيرات

إذا لم يُضبط سياق معرف الجلسة على خادم SSL/TLS واستُخدمت شهادات العميل، فلن تُعاد استخدام الجلسات المخزنة بل سيُعلَم عن خطأ فادح وستفشل المصافحة.

إذا حاول العميل استئناف جلسة، واكتشف الخادم أن سياق معرف الجلسة المرتبط بالجلسة يختلف عن سياق معرف الجلسة الحالي، فسيفشل الاستئناف. ستستمر عملية المصافحة بشكل طبيعي، ولكن لن تُستأنف الجلسة.

من الضروري تحديد سياق مُعرّف الجلسة قبل استئناف أي جلسة. تُنشأ الجلسات في بداية عملية المصافحة. إذا لم تُحدد سياق مُعرّف الجلسة عند إنشاء الجلسة، فسيتم ربط الجلسة بسياق مُعرّف جلسة فارغ. ولن تُحدث الجلسة المُنشأة مسبقًا إذا تم تحديد سياق مُعرّف الجلسة لاحقًا. على وجه الخصوص، ستُستدعى دالة الاستدعاء المُحددة عبر الدالةSSL_CTX_set_tlsext_servername_callback(3) بعد إنشاء الجلسة، لذا إذا حُدد سياق مُعرّف الجلسة في دالة الاستدعاء، فسيكون ذلك متأخرًا جدًا بالنسبة لعملية المصافحة الحالية، وسيُتجاهل إعداد سياق مُعرّف الجلسة عند الاستئناف.عادةً، يجب تحديد سياق مُعرّف الجلسة قبل بدء مصافحة TLS، ولكن قد يتم ذلك في وقت لاحق، مثلاً في دالة الاستدعاء المُحددة عبر الدالة SSL_CTX_set_client_hello_cb(3).

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

SSL_CTX_set_session_id_context() وSSL_set_session_id_context() تعيدان القيم التالية:

0
تجاوز الطول sid_ctx_len لسياق معرف الجلسة sid_ctx الحد الأقصى المسموح به لـSSL_MAX_SID_CTX_LENGTH. يُسجل الخطأ في مكدس الأخطاء.
1
نجحت العملية.

انظر أيضًا

ssl(7)

حقوق النسخ

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

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

ترجمة

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

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

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

29 سبتمبر 2026 3.6.5