SSL_CTX_USE_SERVERINFO(3SSL)

الاسم
SSL_CTX_use_serverinfo_ex, SSL_CTX_use_serverinfo, SSL_CTX_use_serverinfo_file - استخدام إضافة serverinfo

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

 int SSL_CTX_use_serverinfo_ex(SSL_CTX *ctx, unsigned int version,
                               const unsigned char *serverinfo,
                               size_t serverinfo_length);

 int SSL_CTX_use_serverinfo(SSL_CTX *ctx, const unsigned char *serverinfo,
                            size_t serverinfo_length);

 int SSL_CTX_use_serverinfo_file(SSL_CTX *ctx, const char *file);

الوصف
تُحمِّل هذه الدوال إضافات TLS من نوع "serverinfo" في SSL_CTX. تُرجَع إضافة "serverinfo" استجابةً لإضافة ClientHello فارغة.

SSL_CTX_use_serverinfo_ex() تُحمِّل إضافة serverinfo واحدة أو أكثر من مصفوفة بايتات إلى ctx. يُحدِّد المُعامل version تنسيق مصفوفة البايتات المُقدَّمة في *serverinfo والتي طولها serverinfo_length.

إذا كان version هو SSL_SERVERINFOV2، فيجب أن تتكون الإضافات في المصفوفة من سياق بطول 4 بايت، ونوع إضافة بطول 2 بايت، وطول بطول 2 بايت، ثم بايتات من extension_data بطول الطول. لقيم السياق والنوع نفس المعنى كما في SSL_CTX_add_custom_ext(3). إذا كانت serverinfo تُحمَّل لإضافات ستُضاف إلى رسالة Certificate، فستُضاف الإضافة فقط لأول شهادة في الرسالة (وهي دائمًا شهادة الكيان النهائي).

إذا كان version هو SSL_SERVERINFOV1، فيجب أن تتكون الإضافات في المصفوفة من نوع إضافة بطول 2 بايت، وطول بطول 2 بايت، ثم بايتات من extension_data بطول الطول. لقيمة النوع نفس المعنى كما في SSL_CTX_add_custom_ext(3). ستُستخدم قيمة السياق المبدئية التالية في هذه الحالة:

 SSL_EXT_TLS1_2_AND_BELOW_ONLY | SSL_EXT_CLIENT_HELLO
 | SSL_EXT_TLS1_2_SERVER_HELLO | SSL_EXT_IGNORE_ON_RESUMPTION

SSL_CTX_use_serverinfo() تفعل نفس الشيء كـ SSL_CTX_use_serverinfo_ex() باستثناء عدم وجود مُعامل version، لذا يُستخدم إصدار مبدئي من SSL_SERVERINFOV1 بدلاً من ذلك.

SSL_CTX_use_serverinfo_file() تُحمِّل إضافة serverinfo واحدة أو أكثر من file إلى ctx. يجب أن تكون الإضافات بتنسيق PEM. يجب أن تكون كل إضافة بتنسيق كما هو موصوف أعلاه لـ SSL_CTX_use_serverinfo_ex(). يجب أن يبدأ اسم كل إضافة PEM بعبارة "BEGIN SERVERINFOV2 FOR " لبيانات SSL_SERVERINFOV2 أو "BEGIN SERVERINFO FOR " لبيانات SSL_SERVERINFOV1.

إذا وُصِّلت أكثر من شهادة واحدة (RSA/DSA) باستخدام SSL_CTX_use_certificate()، فستُحمَّل إضافة serverinfo في آخر شهادة وُصِّلت. إذا كان، مثلاً، العنصر الأخير هو شهادة RSA، فستُحمَّل بيانات إضافة serverinfo المحمَّلة لتلك الشهادة. لاستخدام إضافة serverinfo لشهادات متعددة، يجب استدعاء SSL_CTX_use_serverinfo() عدة مرات، مرة بعد كل مرة تُحمَّل فيها شهادة عبر استدعاء لـ SSL_CTX_use_certificate().

القيم المُرجعة
عند النجاح، تُرجِع الدوال 1. عند الفشل، تُرجِع الدوال 0. افحص رصة الأخطاء لمعرفة السبب.

انظر أيضًا
ssl(7)

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