.\" -*- 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_ADD1_CHAIN_CERT 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SSL_CTX_ADD1_CHAIN_CERT 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_set0_chain, SSL_CTX_set1_chain, SSL_CTX_add0_chain_cert, SSL_CTX_add1_chain_cert, SSL_CTX_get0_chain_certs, SSL_CTX_clear_chain_certs, SSL_set0_chain, SSL_set1_chain, SSL_add0_chain_cert, SSL_add1_chain_cert, SSL_get0_chain_certs, SSL_clear_chain_certs, SSL_CTX_build_cert_chain, SSL_build_cert_chain, SSL_CTX_select_current_cert, SSL_select_current_cert, SSL_CTX_set_current_cert, SSL_set_current_cert \- معالجة سلسلة شهادات إضافية .SH موجز .IX Header موجز .Vb 1 \& #include \& \& int SSL_CTX_set0_chain(SSL_CTX *ctx, STACK_OF(X509) *sk); \& int SSL_CTX_set1_chain(SSL_CTX *ctx, STACK_OF(X509) *sk); \& int SSL_CTX_add0_chain_cert(SSL_CTX *ctx, X509 *x509); \& int SSL_CTX_add1_chain_cert(SSL_CTX *ctx, X509 *x509); \& int SSL_CTX_get0_chain_certs(SSL_CTX *ctx, STACK_OF(X509) **sk); \& int SSL_CTX_clear_chain_certs(SSL_CTX *ctx); \& \& int SSL_set0_chain(SSL *ssl, STACK_OF(X509) *sk); \& int SSL_set1_chain(SSL *ssl, STACK_OF(X509) *sk); \& int SSL_add0_chain_cert(SSL *ssl, X509 *x509); \& int SSL_add1_chain_cert(SSL *ssl, X509 *x509); \& int SSL_get0_chain_certs(SSL *ssl, STACK_OF(X509) **sk); \& int SSL_clear_chain_certs(SSL *ssl); \& \& int SSL_CTX_build_cert_chain(SSL_CTX *ctx, flags); \& int SSL_build_cert_chain(SSL *ssl, flags); \& \& int SSL_CTX_select_current_cert(SSL_CTX *ctx, X509 *x509); \& int SSL_select_current_cert(SSL *ssl, X509 *x509); \& int SSL_CTX_set_current_cert(SSL_CTX *ctx, long op); \& int SSL_set_current_cert(SSL *ssl, long op); .Ve .SH الوصف .IX Header الوصف \&\fBSSL_CTX_set0_chain()\fP و \fBSSL_CTX_set1_chain()\fP تضبطان سلسلة الشهادات المرتبطة بالشهادة الحالية لـ \fBctx\fP إلى \fBsk\fP. .PP \&\fBSSL_CTX_add0_chain_cert()\fP و \fBSSL_CTX_add1_chain_cert()\fP تُلحقان الشهادة المفردة \fBx509\fP بالسلسلة المرتبطة بالشهادة الحالية لـ \&\fBctx\fP. .PP \&\fBSSL_CTX_get0_chain_certs()\fP تسترجع السلسلة المرتبطة بالشهادة الحالية لـ \fBctx\fP. .PP \&\fBSSL_CTX_clear_chain_certs()\fP تمسح أي سلسلة موجودة مرتبطة بالشهادة الحالية لـ \fBctx\fP. (يُطبَّق هذا باستدعاء \&\fBSSL_CTX_set0_chain()\fP مع ضبط \fBsk\fP على \fBNULL\fP). .PP \&\fBSSL_CTX_build_cert_chain()\fP تبني سلسلة الشهادات لـ \fBctx\fP. عادةً، يستخدم هذا مخزن السلسلة أو مخزن التحقق إذا لم يُضبط مخزن السلسلة. إذا نجحت الدالة، ستحل السلسلة المبنية محل أي سلسلة موجودة. يمكن ضبط معامل \fBflags\fP على \fBSSL_BUILD_CHAIN_FLAG_UNTRUSTED\fP لاستخدام شهادات السلسلة الموجودة كمراجع تصديق غير موثوقة، و \fBSSL_BUILD_CHAIN_FLAG_NO_ROOT\fP لحذف مرجع التصديق الجذر من السلسلة المبنية، و \fBSSL_BUILD_CHAIN_FLAG_CHECK\fP لاستخدام جميع شهادات السلسلة الموجودة فقط لبناء السلسلة (فحص صحتها وإعادة ترتيبها إذا لزم الأمر)، والعلم \&\fBSSL_BUILD_CHAIN_FLAG_IGNORE_ERROR\fP يتجاهل أي أخطاء أثناء التحقق: إذا ضُبط العلم \fBSSL_BUILD_CHAIN_FLAG_CLEAR_ERROR\fP أيضًا، تُمسح أخطاء التحقق من قائمة انتظار الأخطاء. تفاصيل عملية بناء السلسلة موصوفة في "بناء مسار التصديق" في \fBopenssl\-verification\-options\fP\|(1). .PP كل من هذه الدوال تعمل على شهادة الكيان النهائي \fIالحالي\fP (أي الخادم أو العميل). هذه هي آخر شهادة حُمِّلت أو اختيرت على بنية \fBctx\fP المقابلة. .PP \&\fBSSL_CTX_select_current_cert()\fP تختار \fBx509\fP كشهادة الكيان النهائي الحالية، ولكن فقط إذا حُمِّلت \fBx509\fP بالفعل في \fBctx\fP باستخدام دالة مثل \fBSSL_CTX_use_certificate()\fP. .PP \&\fBSSL_set0_chain()\fP, \fBSSL_set1_chain()\fP, \fBSSL_add0_chain_cert()\fP, \&\fBSSL_add1_chain_cert()\fP, \fBSSL_get0_chain_certs()\fP, \fBSSL_clear_chain_certs()\fP, \&\fBSSL_build_cert_chain()\fP, \fBSSL_select_current_cert()\fP و \fBSSL_set_current_cert()\fP متشابهة باستثناء أنها تُطبق على بنية SSL \fBssl\fP. .PP \&\fBSSL_CTX_set_current_cert()\fP تغير الشهادة الحالية إلى قيمة بناءً على وسيط \fBop\fP. حاليًا، يمكن أن يكون \fBop\fP هو \fBSSL_CERT_SET_FIRST\fP لاستخدام أول شهادة صالحة أو \fBSSL_CERT_SET_NEXT\fP لتعيين الشهادة الصالحة التالية بعد الشهادة الحالية. يمكن استخدام هاتين العمليتين للتكرار عبر جميع الشهادات في بنية \fBSSL_CTX\fP. .PP \&\fBSSL_set_current_cert()\fP تدعم أيضًا الخيار \fBSSL_CERT_SET_SERVER\fP. إذا كان \fBssl\fP خادمًا وأرسل شهادة إلى عميل متصل، يضبط هذا الخيار تلك الشهادة كالشهادة الحالية ويعيد 1. إذا كانت حزمة المُعمِّي المتفاوَض عليها مجهولة (وبالتالي لن تُرسل أي شهادة)، يُعاد 2 وتبقى الشهادة الحالية دون تغيير. إذا لم يكن \fBssl\fP خادمًا أو لم تُرسل شهادة، يُعاد 0 وتبقى الشهادة الحالية دون تغيير. .PP كل هذه الدوال مُطبَّقة كوحدات ماكرو. تلك التي تحتوي على \fB1\fP تزيد عدد المراجع للشهادة أو السلسلة المقدمة، لذا يجب تحريرها في وقت ما بعد العملية. تلك التي تحتوي على \fB0\fP لا تزيد عدد المراجع، ويجب \&\fBألا\fP تُحرر الشهادة أو السلسلة المقدمة بعد العملية. .SH ملاحظات .IX Header ملاحظات تُنسخ السلاسل المرتبطة ببنية SSL_CTX إلى أي بنى SSL عند استدعاء \fBSSL_new()\fP. لن تتأثر بنى SSL بأي سلاسل تُغير لاحقًا في SSL_CTX الأصلي. .PP يمكن ضبط سلسلة واحدة لكل نوع مفتاح يدعمه الخادم. لذا، على سبيل المثال، يمكن لشهادة RSA و DSA أن يكون لهما (وغالبًا ما يكون) سلاسل مختلفة. .PP يمكن استخدام الدالتين \fBSSL_CTX_build_cert_chain()\fP و \fBSSL_build_cert_chain()\fP لفحص تكوين التطبيق ولضمان إرسال أي مراجع تصديق فرعية ضرورية بالترتيب الصحيح. التطبيقات ذات التكوين الخاطئ التي ترسل سلاسل شهادات غير صحيحة غالبًا ما تسبب مشاكل مع الأقران. .PP على سبيل المثال، يمكن لتطبيق إضافة أي مجموعة من الشهادات باستخدام \&\fBSSL_CTX_use_certificate_chain_file()\fP ثم استدعاء \fBSSL_CTX_build_cert_chain()\fP مع الخيار \fBSSL_BUILD_CHAIN_FLAG_CHECK\fP لفحصها وإعادة ترتيبها. .PP يمكن للتطبيقات إصدار تحذيرات غير قاتلة عند فحص السلاسل بضبط العلم \fBSSL_BUILD_CHAIN_FLAG_IGNORE_ERRORS\fP وفحص القيمة المُعادة. .PP استدعاء \fBSSL_CTX_build_cert_chain()\fP أو \fBSSL_build_cert_chain()\fP أكثر كفاءة من بناء السلسلة الآلي لأنه يُنفَّذ مرة واحدة فقط. يُنفَّذ بناء السلسلة الآلي في كل جلسة جديدة. .PP إذا أُضيفت أي شهادات باستخدام هذه الدوال، فلن تُستخدم أي شهادات أُضيفت باستخدام \fBSSL_CTX_add_extra_chain_cert()\fP. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&\fBSSL_set_current_cert()\fP مع \fBSSL_CERT_SET_SERVER\fP تُرجع 1 للنجاح، و2 إذا لم تُستخدم شهادة خادم لأن حُزَم المُعمِّي مجهولة، و0 للفشل. .PP \&\fBSSL_CTX_build_cert_chain()\fP و \fBSSL_build_cert_chain()\fP تُرجعان 1 للنجاح و0 للفشل. إذا وُجد العلم \fBSSL_BUILD_CHAIN_FLAG_IGNORE_ERROR\fP وحدث خطأ تحقق، فتُرجع 2. .PP جميع الدوال الأخرى تُرجع 1 للنجاح و0 للفشل. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBssl\fP\|(7), \&\fBSSL_CTX_add_extra_chain_cert\fP\|(3) .SH التاريخ .IX Header التاريخ أُضيفت هذه الدوال في OpenSSL 1.0.2. .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2013\-2021 لمؤلفي مشروع 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 .