.\" -*- 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_SET_CERT_VERIFY_CALLBACK 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SSL_CTX_SET_CERT_VERIFY_CALLBACK 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_CTX_set_cert_verify_callback \- ضبط إجراء التحقق من شهادة النظير .SH موجز .IX Header موجز .Vb 1 \& #include \& \& void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx, \& int (*callback)(X509_STORE_CTX *, void *), \& void *arg); .Ve .SH الوصف .IX Header الوصف \&\fBSSL_CTX_set_cert_verify_callback()\fP تضبط دالة الاستدعاء للتحقق من أجل \&\fIctx\fP. كائنات SSL التي تُنشأ من \fIctx\fP ترث الإعداد الساري في الوقت الذي يُستدعى فيه \fBSSL_new\fP\|(3). .SH ملاحظات .IX Header ملاحظات عند استلام شهادة نظير خلال مصافحة SSL/TLS، تُستدعى دالة تحقق بغض النظر عن نمط التحقق. إذا لم يُحدد التطبيق دالة استدعاء تحقق صراحةً، تُستخدم دالة التحقق المضمنة. إذا حُددت دالة استدعاء تحقق \fIcallback\fP عبر \&\fBSSL_CTX_set_cert_verify_callback()\fP، تُستدعى دالة الاستدعاء المقدمة بدلاً من ذلك مع الوسائط callback(X509_STORE_CTX *x509_store_ctx, void *arg). الوسيط \fIarg\fP يُحدد من قبل التطبيق عند ضبط \fIcallback\fP. بضبط \fIcallback\fP على NULL، يُستعاد السلوك المبدئي. .PP \&\fIcallback\fP يجب أن تُرجع 1 للإشارة إلى نجاح التحقق و0 للإشارة إلى فشل التحقق. في نمط الخادم، تؤدي قيمة الإرجاع 0 إلى فشل المصافحة. في نمط العميل، السلوك كما يلي. جميع القيم، بما في ذلك 0، تُتجاهل إذا كان نمط التحقق هو \fBSSL_VERIFY_NONE\fP. وإلا، عندما تكون قيمة الإرجاع أقل من أو تساوي 0، ستفشل المصافحة. .PP في نمط العميل، قد تستدعي \fIcallback\fP أيضًا دالة \fBSSL_set_retry_verify\fP\|(3) على كائن \fBSSL\fP المضبوط في البيانات الإضافية لـ \fIx509_store_ctx\fP (انظر \&\fBSSL_get_ex_data_X509_STORE_CTX_idx\fP\|(3)) وتُرجع 1. يُفعل هذا عادةً في حال عدم تمكن التحقق من الشهادة من النجاح بعد. يؤدي هذا إلى تعليق المصافحة وإعادة التحكم إلى التطبيق المستدعي مع \fBSSL_ERROR_WANT_RETRY_VERIFY\fP. يمكن للتطبيق مثلاً جلب شهادات إضافية أو معلومات حالة الشهادة اللازمة للتحقق. استدعاء \fBSSL_connect\fP\|(3) مرة أخرى يستأنف محاولة الاتصال بإعادة محاولة خطوة التحقق من شهادة الخادم. قد تُكرر هذه العملية إذا لزم الأمر. .PP في أي حال، يجب أن تنعكس قيمة نتيجة تحقق قابلة للتطبيق في العضو \fBerror\fP لـ \fIx509_store_ctx\fP، ويمكن فعل ذلك باستخدام \fBX509_STORE_CTX_set_error\fP\|(3). هذا مهم بشكل خاص في حال سمحت \fIcallback\fP للاتصال بالاستمرار (بإرجاع 1). لاحظ أن حالة التحقق في سياق المخزن هي إشارة دائمة محتملة لصحة السلسلة! يُسجل هذا في جلسة SSL (وبالتالي أيضًا في تذاكر الجلسة) وتكون صحة السلسلة المقدمة أصلاً مرئية عند الاستئناف، حتى لو لم تُقدم سلسلة في تلك الحالة. علاوة على ذلك، سيُعلم التطبيق المستدعي بالنتيجة المفصلة لإجراء التحقق وقد يختار بناء قرارات أخرى عليها. .PP \&\fIcallback\fP قد تستدعي \fBX509_verify_cert\fP\|(3) لتشغيل دالة التحقق المضمنة. قد يكون هذا مفيدًا إذا رغب التطبيق في إعادة ضبط \&\fIx509_store_ctx\fP ديناميكيًا قبل التحقق، أو معالجة النتيجة لاحقًا. في هذه الحالة، ستضبط \&\fBX509_verify_cert\fP\|(3) العضو \fBerror\fP كما هو موصوف أعلاه. .PP داخل \fIx509_store_ctx\fP، تمتلك \fIcallback\fP وصولاً إلى دالة \fIverify_callback\fP المضبوطة باستخدام \fBSSL_CTX_set_verify\fP\|(3). .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&\fBSSL_CTX_set_cert_verify_callback()\fP لا تُرجع قيمة. .SH تحذيرات .IX Header تحذيرات لا تخلط بين دالة استدعاء التحقق الموصوفة في هذه الدالة ودالة \&\fBverify_callback\fP المستدعاة أثناء عملية التحقق. الأخيرة تُضبط باستخدام عائلة دوال \fBSSL_CTX_set_verify\fP\|(3). .PP توفير إجراء تحقق كامل بما في ذلك إعدادات غرض الشهادة إلخ هو مهمة معقدة. الإجراء المضمن قوي جدًا وفي معظم الحالات يجب أن يكون كافيًا تعديل سلوكه باستخدام دالة \fBverify_callback\fP. .SH العلل .IX Header العلل \&\fBSSL_CTX_set_cert_verify_callback()\fP لا توفر معلومات تشخيصية. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBssl\fP\|(7), \fBSSL_CTX_set_verify\fP\|(3), \&\fBX509_STORE_CTX_set_error\fP\|(3), \&\fBSSL_get_verify_result\fP\|(3), \&\fBSSL_set_retry_verify\fP\|(3), \&\fBSSL_CTX_load_verify_locations\fP\|(3) .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2001\-2022 مؤلفو مشروع 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 .