.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Title "SSL_CTX_USE_PSK_IDENTITY_HINT 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SSL_CTX_USE_PSK_IDENTITY_HINT 3ssl "7 أبريل 2026" 3.6.2 OpenSSL .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH الاسم SSL_psk_server_cb_func, SSL_psk_find_session_cb_func, SSL_CTX_use_psk_identity_hint, SSL_use_psk_identity_hint, SSL_CTX_set_psk_server_callback, SSL_set_psk_server_callback, SSL_CTX_set_psk_find_session_callback, SSL_set_psk_find_session_callback \\&\- ضبط تلميح هوية PSK للاستخدام .SH موجز .IX Header موجز .Vb 1 \& #include \& \& typedef int (*SSL_psk_find_session_cb_func)(SSL *ssl, \& const unsigned char *identity, \& size_t identity_len, \& SSL_SESSION **sess); \& \& \& void SSL_CTX_set_psk_find_session_callback(SSL_CTX *ctx, \& SSL_psk_find_session_cb_func cb); \& void SSL_set_psk_find_session_callback(SSL *s, SSL_psk_find_session_cb_func cb); \& \& typedef unsigned int (*SSL_psk_server_cb_func)(SSL *ssl, \& const char *identity, \& unsigned char *psk, \& unsigned int max_psk_len); \& \& int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *hint); \& int SSL_use_psk_identity_hint(SSL *ssl, const char *hint); \& \& void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, SSL_psk_server_cb_func cb); \& void SSL_set_psk_server_callback(SSL *ssl, SSL_psk_server_cb_func cb); .Ve .SH الوصف .IX Header الوصف تطبيق الخادم الراغب في استخدام PSKs لـ TLSv1.3 يجب أن يضبط استدعاءً راجعًا باستخدام إما \fBSSL_CTX_set_psk_find_session_callback()\fP أو \\&\fBSSL_set_psk_find_session_callback()\fP حسب الاقتضاء. .PP تُعطى دالة الاستدعاء الراجع مؤشرًا لاتصال SSL في \fBssl\fP وهوية في \fBidentity\fP بطول \fBidentity_len\fP. يجب على دالة الاستدعاء الراجع تحديد كائن SSL_SESSION الذي يوفر تفاصيل PSK وتخزينه في \fB*sess\fP. يجب على كائن SSL_SESSION، كحد أدنى، ضبط المفتاح الرئيسي، ومجموعة المُعمِّيات، وإصدار البروتوكول. انظر \\&\fBSSL_CTX_set_psk_use_session_callback\fP\\|(3) للتفاصيل. .PP من الممكن أيضًا أن تنجح دالة الاستدعاء الراجع ولكن لا تقدم PSK. في هذه الحالة، لن يُستخدم أي PSK ولكن ستستمر المصافحة. لفعل ذلك، يجب أن تعود دالة الاستدعاء الراجع بنجاح وتضمن أن \fB*sess\fP هو NULL. .PP تلميحات الهوية غير ذات صلة بـ TLSv1.3. تطبيق الخادم الراغب في استخدام مجموعات المُعمِّيات PSK لـ TLSv1.2 وما دونه قد يستدعي \fBSSL_CTX_use_psk_identity_hint()\fP لضبط تلميح هوية PSK المُعطى المنتهي بـ \fBNUL\fP \fBhint\fP لكائن سياق SSL \fBctx\fP. يضبط \fBSSL_use_psk_identity_hint()\fP تلميح هوية PSK المُعطى المنتهي بـ \fBNUL\fP \fBhint\fP لكائن اتصال SSL \fBssl\fP. إذا كان \fBhint\fP هو \\&\fBNULL\fP، يُحذف التلميح الحالي من \fBctx\fP أو \fBssl\fP. .PP في حالة كان تلميح هوية PSK هو \fBNULL\fP، لا يُرسل الخادم رسالة ServerKeyExchange إلى العميل. .PP تطبيق الخادم الراغب في استخدام PSKs لـ TLSv1.2 وما دونه يجب أن يوفر دالة استدعاء راجع تُستدعى عندما يتلقى الخادم رسالة ClientKeyExchange من العميل. الغرض من دالة الاستدعاء الراجع هو التحقق من صحة هوية PSK المستلمة وجلب المفتاح المشترك مسبقًا المُستخدم خلال مرحلة إعداد الاتصال. يُضبط الاستدعاء الراجع باستخدام الدوال \\&\fBSSL_CTX_set_psk_server_callback()\fP أو \fBSSL_set_psk_server_callback()\fP. تُعطى دالة الاستدعاء الراجع الاتصال في المعامل \fBssl\fP، وهوية PSK المنتهية بـ \fBNUL\fP المُرسلة من العميل في المعامل \fBidentity\fP، ومخزنًا مؤقتًا \fBpsk\fP بطول \fBmax_psk_len\fP بايت حيث يُخزن المفتاح المشترك مسبقًا. .PP الاستدعاء الراجع للاستخدام في TLSv1.2 سيعمل أيضًا في TLSv1.3 على الرغم من أنه يُوصى باستخدام \fBSSL_CTX_set_psk_find_session_callback()\fP أو \fBSSL_set_psk_find_session_callback()\fP لهذا الغرض بدلاً من ذلك. إذا تم التفاوض على TLSv1.3، سيتحقق OpenSSL أولاً لمعرفة ما إذا كان قد تم ضبط استدعاء راجع عبر \fBSSL_CTX_set_psk_find_session_callback()\fP أو \fBSSL_set_psk_find_session_callback()\fP وسيستخدم ذلك بشكل تفضيلي. إذا لم يكن هناك مثل هذا الاستدعاء الراجع، سيتحقق لمعرفة ما إذا كان قد تم ضبط استدعاء راجع عبر \fBSSL_CTX_set_psk_server_callback()\fP أو \\&\fBSSL_set_psk_server_callback()\fP ويستخدم ذلك. في هذه الحالة، سيكون ملخص المصافحة مبدئيًا SHA\-256 لأي PSK مُعاد. تبادلات البيانات المبكرة لـ TLSv1.3 ممكنة في اتصالات PSK فقط مع استدعاء \fBSSL_psk_find_session_cb_func\fP الراجع، وغير ممكنة مع استدعاء \fBSSL_psk_server_cb_func\fP الراجع. .PP سيظهر الاتصال المنشأ عبر TLSv1.3 PSK كما لو أن استئناف الجلسة قد حدث بحيث تُعيد \fBSSL_session_reused\fP\|(3) قيمة «صواب». .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \\&\fBSSL_CTX_use_psk_identity_hint()\fP و \fBSSL_use_psk_identity_hint()\fP تُرجعان 1 عند النجاح، 0 بخلاف ذلك. .PP قيم الإرجاع من استدعاء الخادم الراجع لـ TLSv1.2 وما دونه تُفسر كالتالي: .IP 0 4 لم تُعثر على هوية PSK. سيُرسل رسالة تنبيه "unknown_psk_identity" ويفشل إعداد الاتصال. .IP >0 4 .IX Item >0 عُثر على هوية PSK وقد قدم استدعاء الخادم الراجع PSK بنجاح في المعامل \fBpsk\fP. قيمة الإرجاع هي طول \\&\fBpsk\fP بالبايت. من الخطأ إرجاع قيمة أكبر من \\&\fBmax_psk_len\fP. .Sp إذا لم تُعثر على هوية PSK ولكن الاستدعاء الراجع يوجه البروتوكول للاستمرار على أي حال، يجب على الاستدعاء الراجع تقديم بعض البيانات العشوائية إلى \fBpsk\fP وإرجاع طول البيانات العشوائية، لذلك سيفشل الاتصال مع خطأ فك التعمية قبل أن يكتمل بالكامل. .PP يجب أن يُرجع استدعاء \fBSSL_psk_find_session_cb_func\fP الراجع 1 عند النجاح أو 0 عند الفشل. في حالة الفشل، يفشل إعداد الاتصال. .SH ملاحظات .IX Header ملاحظات لا توجد مشكلات أمنية معروفة عند مشاركة نفس PSK بين TLSv1.2 (أو أقل) و TLSv1.3. ومع ذلك، تحتوي RFC على هذه الملحوظة التحذيرية: .PP "على الرغم من عدم وجود طريقة معروفة يمكن من خلالها لنفس PSK إنتاج مخرجات مرتبطة في كلا الإصدارين، إلا أنه لم يُجرَ إلا تحليل محدود. يمكن للمنفذين ضمان السلامة من المخرجات المرتبطة عبر البروتوكولات بعدم إعادة استخدام مفاتيح PSK بين TLS 1.3 و TLS 1.2." .SH "انظر أيضًا" .IX Header "انظر أيضًا" \\&\fBssl\fP\\|(7)، \\&\fBSSL_CTX_set_psk_use_session_callback\fP\\|(3)، \\&\fBSSL_set_psk_use_session_callback\fP\\|(3) .SH التاريخ .IX Header التاريخ \\&\fBSSL_CTX_set_psk_find_session_callback()\fP و \fBSSL_set_psk_find_session_callback()\fP أُضيفتا في OpenSSL 1.1.1. .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2006\-2020 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة. .PP مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط . .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .