.\" -*- 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_CONF_CMD 3ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SSL_CONF_CMD 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_CONF_cmd_value_type, SSL_CONF_cmd \- إرسال أمر تهيئة .SH موجز .IX Header موجز .Vb 1 \& #include \& \& int SSL_CONF_cmd(SSL_CONF_CTX *ctx, const char *option, const char *value); \& int SSL_CONF_cmd_value_type(SSL_CONF_CTX *ctx, const char *option); .Ve .SH الوصف .IX Header الوصف الدالة \fBSSL_CONF_cmd()\fP تُنفذ عملية التهيئة \fBoption\fP مع المعامل الاختياري \fBvalue\fP على \fBctx\fP. غرضها تبسيط تهيئة التطبيق لهياكل \fBSSL_CTX\fP أو \fBSSL\fP بتوفير إطار مشترك لخيارات سطر الأوامر أو ملفات التهيئة. .PP \&\fBSSL_CONF_cmd_value_type()\fP تُرجع نوع القيمة التي يشير إليها \fBoption\fP. .SH "الأوامر المدعومة لسطر الأوامر" .IX Header "الأوامر المدعومة لسطر الأوامر" أسماء \fBoption\fP المدعومة حاليًا لسطور الأوامر (أي عند تعيين العلم \fBSSL_CONF_FLAG_CMDLINE\fP) مُدرجة أدناه. ملاحظة: جميع أسماء \fBoption\fP حساسة لحالة الأحرف. ما لم يُذكر خلاف ذلك، يمكن استخدام الأوامر من قبل كل من العملاء والخوادم ولا يُستخدم المعامل \fBvalue\fP. البادئة المبدئية لأوامر سطر الأوامر هي \fB\-\fP وينعكس ذلك أدناه. .IP \fB\-bugs\fP 4 .IX Item \-bugs تُعيّن حلول بديلة متنوعة للأخطاء، مثل تعيين \fBSSL_OP_ALL\fP. .IP \fB\-no_comp\fP 4 .IX Item \-no_comp يُعطل دعم ضغط SSL/TLS، مثل تعيين \&\fBSSL_OP_NO_COMPRESSION\fP. اعتبارًا من OpenSSL 1.1.0، الضغط مُعطل مبدئيًا. .IP \fB\-comp\fP 4 .IX Item \-comp يُفعل دعم ضغط SSL/TLS، مثل مسح \&\fBSSL_OP_NO_COMPRESSION\fP. أُدخل هذا الأمر في OpenSSL 1.1.0. اعتبارًا من OpenSSL 1.1.0، الضغط مُعطل مبدئيًا. يمكن استخدام ضغط TLS فقط في مستوى الأمان 1 أو أقل. من OpenSSL 3.2.0 فصاعدًا، مستوى الأمان المبدئي هو 2، لذا لن يكون لهذا الخيار تأثير دون تغيير مستوى الأمان أيضًا. انظر \fBSSL_CTX_set_security_level\fP\|(3). .IP \fB\-no_ticket\fP 4 .IX Item \-no_ticket يُعطل دعم تذاكر الجلسة، مثل تعيين \fBSSL_OP_NO_TICKET\fP. .IP \fB\-serverpref\fP 4 .IX Item \-serverpref استخدم ترتيب تفضيل الخادم وليس العميل عند تحديد أي حزمة معمّي، أو خوارزمية توقيع، أو منحنى إهليلجي (TLS 1.2)، أو مجموعة (TLS 1.3) لاستخدامها لاتصال وارد. مكافئ لـ \fBSSL_OP_SERVER_PREFERENCE\fP. يُستخدم فقط من قبل الخوادم. .IP \fB\-client_renegotiation\fP 4 .IX Item \-client_renegotiation يسمح للخوادم بقبول إعادة التفاوض التي بدأها العميل. يُعادل ضبط \fBSSL_OP_ALLOW_CLIENT_RENEGOTIATION\fP. يُستخدم فقط بواسطة الخوادم. .IP \fB\-legacy_renegotiation\fP 4 .IX Item \-legacy_renegotiation يأذن باستخدام إعادة التفاوض القديم غير الآمن. يُعادل ضبط \&\fBSSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION\fP. .IP \fB\-no_renegotiation\fP 4 .IX Item \-no_renegotiation يعطل كل محاولات إعادة التفاوض في (D)TLSv1.2 والإصدارات الأقدم، مثل ضبط \&\fBSSL_OP_NO_RENEGOTIATION\fP. .IP \fB\-no_resumption_on_reneg\fP 4 .IX Item \-no_resumption_on_reneg يضبط \fBSSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION\fP. يُستخدم فقط بواسطة الخوادم. .IP "\fB\-legacy_server_connect\fP, \fB\-no_legacy_server_connect\fP" 4 .IX Item "\-legacy_server_connect, \-no_legacy_server_connect" يأذن أو يمنع استخدام إعادة التفاوض القديم غير الآمن لعملاء OpenSSL فقط. يُعادل ضبط أو مسح \fBSSL_OP_LEGACY_SERVER_CONNECT\fP. .IP \fB\-prioritize_chacha\fP 4 .IX Item \-prioritize_chacha يعطي أولوية لمعميات ChaCha عندما يكون لدى العميل معمي ChaCha20 في أعلى قائمة تفضيلاته. يشير هذا عادةً إلى استخدام عميل دون تسريع أجهزة AES (مثل الهاتف المحمول). يُعادل \fBSSL_OP_PRIORITIZE_CHACHA\fP. يُستخدم فقط بواسطة الخوادم. يتطلب \fB\-serverpref\fP. .IP \fB\-allow_no_dhe_kex\fP 4 .IX Item \-allow_no_dhe_kex في TLSv1.3، اسمح بوضع تبادل مفاتيح لا يعتمد على (ec)dhe عند الاستئناف. وهذا يعني أنه لن يكون هناك سرية أمامية (forward secrecy) للجلسة المستأنفة. .IP \fB\-prefer_no_dhe_kex\fP 4 .IX Item \-prefer_no_dhe_kex في TLSv1.3، عند الاستئناف، يُفضّل الخادم وضع تبادل مفاتيح غير قائم على (ec)dhe على الوضع القائم على (ec)dhe. يتطلب \fB\-allow_no_dhe_kex\fP. مكافئ لـ \fBSSL_OP_PREFER_NO_DHE_KEX\fP. يُستخدم فقط بواسطة الخوادم. .IP \fB\-strict\fP 4 .IX Item \-strict يُفعّل معالجة البروتوكول في الوضع الصارم. مكافئ لتعيين \&\fBSSL_CERT_FLAG_TLS_STRICT\fP. .IP "\fB\-sigalgs\fP \fIalgs\fP" 4 .IX Item "\-sigalgs algs" يُعيّن خوارزميات التوقيع المدعومة لـ TLSv1.2 و TLSv1.3. بالنسبة للعملاء، تُستخدم هذه القيمة مباشرةً لامتداد خوارزميات التوقيع المدعومة. بالنسبة للخوادم، تُستخدم لتحديد خوارزميات التوقيع التي يجب دعمها. .Sp وسيطة \fBalgs\fP يجب أن تكون قائمة مفصولة بنقطتين من خوارزميات التوقيع بترتيب تنازلي للأفضلية بالصيغة \fBalgorithm+hash\fP أو \fBsignature_scheme\fP. بالنسبة للمزوّدين الافتراضيين المرفقين مع OpenSSL، \&\fBalgorithm\fP هو أحد \fBRSA\fP أو \fBDSA\fP أو \fBECDSA\fP و \&\fBhash\fP هو اسم قصير OID لخوارزمية مدعومة مثل \fBSHA1\fP أو \fBSHA224\fP أو \&\fBSHA256\fP أو \fBSHA384\fP أو \fBSHA512\fP. \&\fBsignature_scheme\fP هو أحد مخططات التوقيع المُعرّفة في TLSv1.3، المُحدّدة باستخدام اسم IETF، مثل \fBecdsa_secp256r1_sha256\fP أو \&\fBed25519\fP أو \fBrsa_pss_pss_sha256\fP. قد تُتاح للمزوّدين الإضافيين خوارزميات أخرى عبر قدرة TLS\-SIGALG. أسماء مخططات التوقيع وأسماء خوارزميات المفتاح العام (وليس أسماء التجزئة) في الصيغة \fBalgorithm+hash\fP غير حساسة لحالة الأحرف. انظر \fBprovider\-base\fP\|(7). .Sp إذا لم يُعيّن هذا الخيار، فجميع خوارزميات التوقيع المدعومة من جميع المزوّدين المُفعّلين مسموح بها. .Sp ملاحظة: الخوارزميات التي تُحدّد مخطط توقيع PKCS#1 v1.5 (إما باستخدام \fBRSA\fP كـ \fBalgorithm\fP أو باستخدام أحد المعرفات \fBrsa_pkcs1_*\fP) تُتجاهل في TLSv1.3 ولن تُفاوض. .IP "\fB\-client_sigalgs\fP \fIalgs\fP" 4 .IX Item "\-client_sigalgs algs" يُعيّن خوارزميات التوقيع المدعومة المرتبطة بمصادقة العميل لـ TLSv1.2 و TLSv1.3. بالنسبة للخوادم، تُستخدم \fBalgs\fP في حقل \fBsignature_algorithms\fP لرسالة \fBCertificateRequest\fP. بالنسبة للعملاء، تُستخدم لتحديد خوارزمية التوقيع التي يجب استخدامها مع شهادة العميل. إذا لم يطلب الخادم شهادة، فلا تأثير لهذا الخيار. .Sp بناء جملة \fBalgs\fP مطابق لـ \fB\-sigalgs\fP. إذا لم يُعيّن، فسيُستخدم القيمة المُعيّنة لـ \fB\-sigalgs\fP بدلاً من ذلك. .IP "\fB\-groups\fP \fIgroups\fP" 4 .IX Item "\-groups groups" يُعيّن المجموعات المدعومة. بالنسبة للعملاء، تُرسل المجموعات باستخدام امتداد المجموعات المدعومة. بالنسبة للخوادم، يُستخدم لتحديد المجموعة التي يجب استخدامها. يؤثر هذا الإعداد على المجموعات المستخدمة للتوقيعات (في TLSv1.2 والإصدارات الأقدم) وتبادل المفاتيح. .Sp في أبسط صورها، وسيطة \fIgroups\fP هي قائمة مفصولة بنقطتين من المجموعات. الأسماء المفضلة هي تلك المدرجة في سجل IANA TLS Supported Groups . .Sp لبعض المجموعات، يدعم OpenSSL أسماء مستعارة إضافية. قد يكون هذا الاسم المستعار اسم \fBNIST\fP (مثل \fBP\-256\fP)، أو اسم OID لـ OpenSSL (مثل \fBprime256v1\fP)، أو اسم آخر شائع الاستخدام. أسماء المجموعات غير حساسة لحالة الأحرف في OpenSSL 3.5 والإصدارات الأحدث. يجب أن تكون القائمة بترتيب الأفضلية مع المجموعة الأكثر تفضيلاً أولاً. .Sp ستُستخدم المجموعة الأولى المدرجة أيضًا في \fBkey_share\fP الذي يُرسله عميل في \fBClientHello\fP الخاص بـ TLSv1.3. .Sp تُدرج الأوامر أدناه أسماء IANA لـ TLS 1.2 و TLS 1.3، على التوالي: .Sp .Vb 2 \& $ openssl list \-tls1_2 \-tls\-groups \& $ openssl list \-tls1_3 \-tls\-groups .Ve .Sp المجموعات الموصى بها لـ TLS 1.3 موثقة حاليًا في قائمة مجموعات TLS المبدئية في قاعدة كود OpenSSL. بدءًا من OpenSSL 3.5، الخوارزمية الهجينة \fBX25519MLKEM768\fP هي الأولى في هذه القائمة المبدئية. إنها تخفف من التهديدات من أجهزة الكمبيوتر الكمومية المستقبلية مع توفير حماية تبادل مفاتيح تقليدية متطورة. .Sp التفاصيل الإضافية بخصوص اعتبارات الخوارزمية ما بعد الكمومية موثقة في قسم HISTORY أدناه. .Sp صيغة بديلة مُثراة، تُمكّن العملاء من إرسال مفاتيح مشاركة متعددة وتسمح للخوادم بتفضيل بعض المجموعات على أخرى، موصوفة في \&\fBSSL_CTX_set1_groups_list\fP\|(3). بما أن TLS 1.2 لا يحتوي على مفاتيح مشاركة ولا آلية إعادة محاولة الترحيب، مع TLS 1.2 تكون الصيغة المُثراة مكافئة في النهاية لقائمة بسيطة مرتبة من المجموعات، كما في الصيغة البسيطة أعلاه. .IP "\fB\-curves\fP \fIالمجموعات\fP" 4 .IX Item "\-curves مجموعات" هذا مرادف لأمر \fB\-groups\fP. .IP "\fB\-named_curve\fP \fIالمنحنى\fP" 4 .IX Item "\-named_curve منحنى" يُعيّن هذا المنحنى المؤقت المستخدم لأوضاع ECDH المؤقتة. هذا قابل للتطبيق فقط في TLS 1.0 و 1.1، ولا ينبغي استخدامه مع إصدارات البروتوكول الأحدث. .Sp وسيطة \fIالمنحنى\fP هي اسم منحنى أو القيمة الخاصة \fBauto\fP التي تختار منحنى مناسبًا بناءً على تفضيلات العميل والخادم. يمكن أن يكون المنحنى إما اسم \fBNIST\fP (مثل \fBP\-256\fP) أو اسم OID لـ OpenSSL (مثل \fBprime256v1\fP). حتى مع TLS 1.0 و 1.1، القيمة المبدئية لـ \f(CW\*(C`auto\*(C'\fP موصى بها بشدة على اختيار منحنى محدد. أسماء المنحنيات غير حساسة لحالة الأحرف في OpenSSL 3.5 والإصدارات الأحدث. .IP \fB\-tx_cert_comp\fP 4 .IX Item \-tx_cert_comp يُمكّن دعم إرسال شهادات مضغوطة لـ TLSv1.3. .IP \fB\-no_tx_cert_comp\fP 4 .IX Item \-no_tx_cert_comp يعطل دعم إرسال شهادات TLSv1.3 المضغوطة. .IP \fB\-rx_cert_comp\fP 4 .IX Item \-rx_cert_comp يُمكّن دعم استقبال شهادات مضغوطة لـ TLSv1.3. .IP \fB\-no_rx_cert_comp\fP 4 .IX Item \-no_rx_cert_comp يعطّل دعم استقبال شهادات TLSv1.3 المضغوطة. .IP \fB\-comp\fP 4 .IX Item \-comp .PD 0 .IP "\fB\-cipher\fP \fIالمُعمِّيات\fP" 4 .IX Item "\-cipher مُعمِّيات" .PD يضبط قائمة مجموعات التشفير الخاصة بـ TLSv1.2 وما دونه إلى \fBciphers\fP. ستُدمج هذه القائمة مع أي مجموعات تشفير TLSv1.3 مُهيأة. ملاحظة: لا يُجرى حاليًا التحقق من صياغة \fBciphers\fP ما لم يُربط هيكل \fBSSL\fP أو \fBSSL_CTX\fP بـ \fBctx\fP. .IP "\fB\-ciphersuites\fP \fI1.3ciphers\fP" 4 .IX Item "\-ciphersuites 1.3ciphers" يضبط مجموعات التشفير المتاحة لـ TLSv1.3 إلى قيمة. هذه قائمة مفصولة بنقطتين رأسيتين من أسماء مجموعات تشفير TLSv1.3 حسب ترتيب الأفضلية. ستُدمج هذه القائمة مع أي مجموعات تشفير TLSv1.2 وما دونه مُهيأة. راجع \fBopenssl\-ciphers\fP\|(1) لمزيد من المعلومات. .IP "\fB\-min_protocol\fP \fIminprot\fP, \fB\-max_protocol\fP \fImaxprot\fP" 4 .IX Item "\-min_protocol minprot, \-max_protocol maxprot" يضبط الحد الأدنى والأقصى للبروتوكول المدعوم. قيم البروتوكول المدعومة حاليًا هي \fBSSLv3\fP، \fBTLSv1\fP، \fBTLSv1.1\fP، \&\fBTLSv1.2\fP، \fBTLSv1.3\fP لـ TLS؛ \fBDTLSv1\fP، \fBDTLSv1.2\fP لـ DTLS، و \fBNone\fP لعدم وجود حد. إذا لم يُحدد الحد الأدنى أو الأقصى، فإن الحد الآخر فقط يُطبق، إذا حُدد. إذا كان تطبيقك يدعم كلاً من TLS و DTLS، يمكنك تحديد أي من هذه الخيارات مرتين، مرة بحد لـ TLS ومرة أخرى بحد مناسب لـ DTLS. لتقييد إصدارات البروتوكول المدعومة، استخدم هذه الأوامر بدلاً من الأوامر البديلة المُهملة أدناه. .IP "\fB\-record_padding\fP \fIpadding\fP" 4 .IX Item "\-record_padding padding" يتحكم في استخدام حشو طبقة السجلات لـ TLSv1.3. \fBpadding\fP هي سلسلة محارف من الشكل "number[,number]" حيث الرقم الأول (المطلوب) هو حجم كتلة الحشو (بالأوكتيتات) لبيانات التطبيق، والرقم الثاني الاختياري هو حجم كتلة الحشو لرسائل المصافحة والتنبيه. إذا حُذف الرقم الثاني الاختياري، يُطبق نفس الحشو على جميع الرسائل. .Sp يحاول الحشو حشو سجلات TLSv1.3 بحيث تكون مضاعفًا للطول المُحدد عند الإرسال. قيمة 0 أو 1 تُوقف الحشو حسب السياق. وإلا، يجب أن تكون القيم >1 أو <=16384. .IP \fB\-debug_broken_protocol\fP 4 .IX Item \-debug_broken_protocol مُتجاهَل. .IP \fB\-no_middlebox\fP 4 .IX Item \-no_middlebox أوقف "توافق الصندوق الوسيط"، كما هو موصوف أدناه. .SS "خيارات إضافية" .IX Subsection "خيارات إضافية" تُقبل الخيارات التالية بواسطة \fBSSL_CONF_cmd()\fP، لكنها لا تُعالج بواسطة أوامر OpenSSL. .IP "\fB\-cert\fP \fIfile\fP" 4 .IX Item "\-cert file" يحاول استخدام \fBfile\fP كشهادة للسياق المناسب. يستخدم حالياً \fBSSL_CTX_use_certificate_chain_file()\fP إذا وُضع هيكل \fBSSL_CTX\fP أو \fBSSL_use_certificate_file()\fP بنوع ملف PEM إذا وُضع هيكل \&\fBSSL\fP. هذا الخيار مدعوم فقط إذا سُمحت عمليات الشهادة. .IP "\fB\-key\fP \fIfile\fP" 4 .IX Item "\-key file" يحاول استخدام \fBfile\fP كمفتاح خاص للسياق المناسب. هذا الخيار مدعوم فقط إذا سُمحت عمليات الشهادة. ملاحظة: إذا لم يُضبط خيار \fB\-key\fP، فلا يُحمّل مفتاح خاص ما لم يُضبط العلم \fBSSL_CONF_FLAG_REQUIRE_PRIVATE\fP. .IP "\fB\-dhparam\fP \fIfile\fP" 4 .IX Item "\-dhparam file" يحاول استخدام \fBfile\fP كمجموعة معاملات DH المؤقتة للسياق المناسب. هذا الخيار مدعوم فقط إذا سُمحت عمليات الشهادة. .IP "\fB\-no_ssl3\fP, \fB\-no_tls1\fP, \fB\-no_tls1_1\fP, \fB\-no_tls1_2\fP, \fB\-no_tls1_3\fP" 4 .IX Item "\-no_ssl3, \-no_tls1, \-no_tls1_1, \-no_tls1_2, \-no_tls1_3" يعطّل دعم البروتوكول لـ SSLv3، TLSv1.0، TLSv1.1، TLSv1.2 أو TLSv1.3 بضبط الخيارات المقابلة \fBSSL_OP_NO_SSLv3\fP، \fBSSL_OP_NO_TLSv1\fP، \&\fBSSL_OP_NO_TLSv1_1\fP، \fBSSL_OP_NO_TLSv1_2\fP و \fBSSL_OP_NO_TLSv1_3\fP على التوالي. هذه الخيارات مهملة، استخدم \fB\-min_protocol\fP و \&\fB\-max_protocol\fP بدلاً منها. .IP "\fB\-anti_replay\fP، \fB\-no_anti_replay\fP" 4 .IX Item "\-anti_replay, \-no_anti_replay" يُشغّل أو يُعطّل حماية إعادة التشغيل على التوالي. مع تشغيل حماية إعادة التشغيل، يكتشف OpenSSL آلياً إذا استُخدمت تذكرة جلسة أكثر من مرة، وفُوض TLSv1.3، وفُعّلت البيانات المبكرة على الخادم. يُفرض مصافحة كاملة إذا استُخدمت تذكرة جلسة مرة ثانية أو لاحقة. مكافحة إعادة التشغيل مفعلة مبدئياً ما لم تُلغَ بواسطة ملف تهيئة وتُستخدم فقط بواسطة الخوادم. إجراءات مكافحة إعادة التشغيل مطلوبة للامتثال لمواصفات TLSv1.3. بعض التطبيقات قد تخفف مخاطر إعادة التشغيل بطرق أخرى وفي هذه الحالات لا تُحتاج وظيفة OpenSSL المدمجة. إيقاف مكافحة إعادة التشغيل يعادل \fBSSL_OP_NO_ANTI_REPLAY\fP. .SH "أوامر ملف التهيئة المدعومة" .IX Header "أوامر ملف التهيئة المدعومة" أسماء \fBoption\fP المدعومة حالياً لملفات التهيئة (أي، عندما يُضبط العلم \fBSSL_CONF_FLAG_FILE\fP) مُدرجة أدناه. جميع أسماء \&\fBoption\fP لملف التهيئة غير حساسة لحالة الأحرف لذا يُتعرف على \fBsignaturealgorithms\fP وكذلك \fBSignatureAlgorithms\fP. ما لم يُذكر خلاف ذلك، أسماء \fBvalue\fP غير حساسة لحالة الأحرف أيضاً. .PP ملاحظة: بادئة الأمر (إذا ضُبطت) تُغير قيم \fBoption\fP المُتعرف عليها. .IP \fBCipherString\fP 4 .IX Item CipherString يضبط قائمة حزم التشفير لـ TLSv1.2 وأقل إلى \fBvalue\fP. ستُدمج هذه القائمة مع أي حزم تشفير TLSv1.3 مكوّنة. ملاحظة: لا يُجرى حالياً فحص بناء جملة \fBvalue\fP ما لم يُربط هيكل \fBSSL\fP أو \fBSSL_CTX\fP مع \fBctx\fP. .IP \fBCiphersuites\fP 4 .IX Item Ciphersuites يضبط حزم التشفير المتاحة لـ TLSv1.3 إلى \fBvalue\fP. هذه قائمة مفصولة بنقطتين من أسماء حزم تشفير TLSv1.3 بترتيب الأفضلية. ستُدمج هذه القائمة مع أي حزم تشفير TLSv1.2 وأقل مكوّنة. راجع \fBopenssl\-ciphers\fP\|(1) لمزيد من المعلومات. .IP \fBCertificate\fP 4 .IX Item Certificate يحاول استخدام الملف \fBالقيمة\fP كشهادة للسياق المناسب. يستخدم حالياً \fBSSL_CTX_use_certificate_chain_file()\fP إذا وُضع هيكل \fBSSL_CTX\fP أو \fBSSL_use_certificate_file()\fP بنوع ملف PEM إذا وُضع هيكل \fBSSL\fP. هذا الخيار مدعوم فقط إذا سُمحت عمليات الشهادة. .IP \fBPrivateKey\fP 4 .IX Item PrivateKey يحاول استخدام الملف \fBالقيمة\fP كمفتاح خاص للسياق المناسب. هذا الخيار مدعوم فقط إذا سُمحت عمليات الشهادة. ملاحظة: إذا لم يُضبط خيار \fBالمفتاح_الخاص\fP، فلا يُحمّل مفتاح خاص إلا إذا ضُبط \fBSSL_CONF_FLAG_REQUIRE_PRIVATE\fP. .IP "\fBChainCAFile\fP, \fBChainCAPath\fP, \fBVerifyCAFile\fP, \fBVerifyCAPath\fP" 4 .IX Item "ChainCAFile, ChainCAPath, VerifyCAFile, VerifyCAPath" تشير هذه الخيارات إلى ملف أو دليل يُستخدم لبناء سلاسل الشهادات أو التحقق من سلاسل الشهادات. هذه الخيارات مدعومة فقط إذا سُمحت عمليات الشهادة. .IP \fBRequestCAFile\fP 4 .IX Item RequestCAFile يشير هذا الخيار إلى ملف يحتوي على مجموعة من الشهادات بصيغة PEM. تُرسل أسماء الموضوعات للشهادات إلى النظير في امتداد \&\fBسلطات_الشهادات\fP لـ TLS 1.3 (في ClientHello أو CertificateRequest) أو في طلب شهادة للإصدارات السابقة من TLS. .IP \fBServerInfoFile\fP 4 .IX Item ServerInfoFile يحاول استخدام الملف \fBالقيمة\fP في امتداد "معلومات الخادم" باستخدام الدالة SSL_CTX_use_serverinfo_file. .IP \fBDHParameters\fP 4 .IX Item DHParameters يحاول استخدام الملف \fBالقيمة\fP كمجموعة معاملات DH المؤقتة للسياق المناسب. هذا الخيار مدعوم فقط إذا سُمحت عمليات الشهادة. .IP \fBRecordPadding\fP 4 .IX Item RecordPadding يتحكم في استخدام حشو طبقة السجلات لـ TLSv1.3. \fBvalue\fP هي سلسلة محارف بالصيغة "رقم[،رقم]" حيث الرقم الأول (المطلوب) هو حجم كتلة الحشو (بالبايت) لبيانات التطبيق، والرقم الثاني الاختياري هو حجم كتلة الحشو لرسائل المصافحة والتنبيه. إذا حُذف الرقم الثاني الاختياري، يُطبق نفس الحشو على جميع الرسائل. .Sp يحاول الحشو حشو سجلات TLSv1.3 بحيث تكون مضاعفًا للطول المُحدد عند الإرسال. قيمة 0 أو 1 تُوقف الحشو حسب السياق. وإلا، يجب أن تكون القيم >1 أو <=16384. .Sp لاحظ أنه بالنسبة لكائنات QUIC، يُجرى الحشو دائمًا على مستوى الحزمة، وبالتالي لا يمكن إجراؤه على مستوى السجل. ونظرًا لعدم وجود معرفة بنوع كائنات SSL التي تُنشأ عند إنشاء ملف التهيئة، يُتجاهل هذا الخيار بصمت لكائنات QUIC. .IP \fBSignatureAlgorithms\fP 4 .IX Item SignatureAlgorithms يُعيّن خوارزميات التوقيع المدعومة لـ TLSv1.2 و TLSv1.3. بالنسبة للعملاء، تُستخدم هذه القيمة مباشرةً لامتداد خوارزميات التوقيع المدعومة. بالنسبة للخوادم، تُستخدم لتحديد خوارزميات التوقيع التي يجب دعمها. .Sp وسيطة \fBvalue\fP ينبغي أن تكون قائمة مفصولة بنقطتين من خوارزميات التوقيع بترتيب تنازلي للأفضلية بالصيغة \fBalgorithm+hash\fP أو \&\fBsignature_scheme\fP. بالنسبة للمزودين الافتراضيين المرفقين مع OpenSSL، \&\fBalgorithm\fP هو أحد \fBRSA\fP أو \fBDSA\fP أو \fBECDSA\fP و \fBhash\fP هو اسم قصير لـ OID خوارزمية مدعومة مثل \fBSHA1\fP أو \fBSHA224\fP أو \fBSHA256\fP أو \fBSHA384\fP أو \fBSHA512\fP. \&\fBsignature_scheme\fP هو أحد مخططات التوقيع المعرفة في TLSv1.3، والمحددة باستخدام اسم IANA، مثل \fBecdsa_secp256r1_sha256\fP أو \fBed25519\fP أو \fBrsa_pss_pss_sha256\fP. أسماء مخططات التوقيع وأسماء خوارزميات المفتاح العام (ولكن ليس أسماء التجزئة) في الصيغة \fBalgorithm+hash\fP غير حساسة لحالة الأحرف. قد يوفر مزودون إضافيون مخططات توقيع أخرى عبر قدرة TLS_SIGALG. انظر "CAPABILITIES" في \fBprovider\-base\fP\|(7). .Sp إذا لم يُعيّن هذا الخيار، فجميع خوارزميات التوقيع المدعومة من جميع المزوّدين المُفعّلين مسموح بها. .Sp ملاحظة: الخوارزميات التي تُحدّد مخطط توقيع PKCS#1 v1.5 (إما باستخدام \fBRSA\fP كـ \fBalgorithm\fP أو باستخدام أحد المعرفات \fBrsa_pkcs1_*\fP) تُتجاهل في TLSv1.3 ولن تُفاوض. .IP \fBClientSignatureAlgorithms\fP 4 .IX Item ClientSignatureAlgorithms يضبط خوارزميات التوقيع المدعومة المرتبطة بمصادقة العميل لـ TLSv1.2 و TLSv1.3. بالنسبة للخوادم، تُستخدم القيمة في حقل \&\fBsignature_algorithms\fP لرسالة \fBCertificateRequest\fP. بالنسبة للعملاء، تُستخدم لتحديد خوارزمية التوقيع التي ستُستخدم مع شهادة العميل. إذا لم يطلب الخادم شهادة، فلا تأثير لهذا الخيار. .Sp صيغة \fBvalue\fP مطابقة لـ \fBSignatureAlgorithms\fP. إذا لم تُضبط، فستُستخدم القيمة المضبوطة لـ \fBSignatureAlgorithms\fP بدلاً من ذلك. .IP \fBGroups\fP 4 .IX Item Groups يضبط المجموعات المدعومة. بالنسبة للعملاء، تُرسل المجموعات باستخدام امتداد المجموعات المدعومة. بالنسبة للخوادم، يُستخدم لتحديد المجموعة التي ستُستخدم. يؤثر هذا الإعداد على المجموعات المستخدمة للتوقيعات (في TLSv1.2 والإصدارات الأقدم) وتبادل المفاتيح. ستُستخدم المجموعة الأولى المدرجة أيضًا لـ \fBkey_share\fP الذي يرسله عميل في TLSv1.3 \&\fBClientHello\fP. .Sp وسيطة \fBgroups\fP هي قائمة مفصولة بنقطتين من المجموعات. الأسماء المفضلة هي تلك المدرجة في سجل IANA TLS Supported Groups . بالنسبة لبعض المجموعات، يدعم OpenSSL أسماء مستعارة إضافية. قد يكون هذا الاسم المستعار اسم \fBNIST\fP (مثل \fBP\-256\fP)، أو اسم OID لـ OpenSSL (مثل \fBprime256v1\fP)، أو اسم آخر شائع الاستخدام. أسماء المجموعات غير حساسة لحالة الأحرف في OpenSSL 3.5 والإصدارات الأحدث. ينبغي أن تكون القائمة بترتيب الأفضلية مع المجموعة الأكثر تفضيلاً أولاً. .Sp تسرد الأوامر أدناه المجموعات المتاحة لـ TLS 1.2 و TLS 1.3، على التوالي: .Sp .Vb 2 \& $ openssl list \-tls1_2 \-tls\-groups \& $ openssl list \-tls1_3 \-tls\-groups .Ve .Sp صيغة بديلة مُثراة، تُمكّن العملاء من إرسال مفاتيح مشاركة متعددة وتسمح للخوادم بتفضيل بعض المجموعات على أخرى، موصوفة في \&\fBSSL_CTX_set1_groups_list\fP\|(3). بما أن TLS 1.2 لا يحتوي على مفاتيح مشاركة ولا آلية إعادة محاولة الترحيب، مع TLS 1.2 تكون الصيغة المُثراة مكافئة في النهاية لقائمة بسيطة مرتبة من المجموعات، كما في الصيغة البسيطة أعلاه. .IP \fBCurves\fP 4 .IX Item Curves هذا مرادف لأمر "Groups". .IP \fBMinProtocol\fP 4 .IX Item MinProtocol يضبط الحد الأدنى لإصدار SSL أو TLS أو DTLS المدعوم. .Sp قيم البروتوكول المدعومة حاليًا هي \fBSSLv3\fP و \fBTLSv1\fP و \fBTLSv1.1\fP و \&\fBTLSv1.2\fP و \fBTLSv1.3\fP و \fBDTLSv1\fP و \fBDTLSv1.2\fP. تنطبق حدود SSL و TLS فقط على السياقات القائمة على TLS، بينما تنطبق حدود DTLS فقط على السياقات القائمة على DTLS. يمكن تكرار الأمر مع مثيل واحد يضبط حد TLS، والآخر يضبط حد DTLS. القيمة \fBNone\fP تنطبق على كلا النوعين من السياقات وتعطل الحدود. .IP \fBMaxProtocol\fP 4 .IX Item MaxProtocol يُعيِّن هذا أقصى إصدار مدعوم من SSL أو TLS أو DTLS. .Sp قيم البروتوكول المدعومة حاليًا هي \fBSSLv3\fP و \fBTLSv1\fP و \fBTLSv1.1\fP و \&\fBTLSv1.2\fP و \fBTLSv1.3\fP و \fBDTLSv1\fP و \fBDTLSv1.2\fP. تنطبق حدود SSL و TLS فقط على السياقات القائمة على TLS، بينما تنطبق حدود DTLS فقط على السياقات القائمة على DTLS. يمكن تكرار الأمر مع مثيل واحد يضبط حد TLS، والآخر يضبط حد DTLS. القيمة \fBNone\fP تنطبق على كلا النوعين من السياقات وتعطل الحدود. .IP \fBالبروتوكول\fP 4 .IX Item البروتوكول يمكن استخدام هذا لتمكين أو تعطيل إصدارات معينة من بروتوكول SSL أو TLS أو DTLS. .Sp الوسيط \fBvalue\fP هو قائمة مفصولة بفواصل من البروتوكولات المدعومة لتمكينها أو تعطيلها. إذا سُبق البروتوكول بـ \fB\-\fP فذلك الإصدار مُعطَّل. .Sp جميع إصدارات البروتوكول مُفعَّلة مبدئيًا. تحتاج إلى تعطيل إصدار بروتوكول واحد على الأقل حتى يكون لهذا الإعداد أي تأثير. تمكين بعض إصدارات البروتوكول فقط لا يُعطِّل إصدارات البروتوكول الأخرى. .Sp قيم البروتوكول المدعومة حاليًا هي \fBSSLv3\fP و\fBTLSv1\fP و\fBTLSv1.1\fP و\&\fBTLSv1.2\fP و\fBTLSv1.3\fP و\fBDTLSv1\fP و\fBDTLSv1.2\fP. القيمة الخاصة \fBALL\fP تشير إلى جميع الإصدارات المدعومة. .Sp لا يمكن لهذا تمكين بروتوكولات مُعطَّلة باستخدام \fBMinProtocol\fP أو \fBMaxProtocol\fP، لكن يمكنه تعطيل بروتوكولات لا تزال مسموحة بهما. .Sp أمر \fBProtocol\fP هش ومُهمَل؛ لا تستخدمه. استخدم \fBMinProtocol\fP و\fBMaxProtocol\fP بدلاً منه. إذا استخدمت \fBProtocol\fP، فتأكد من أن نطاق البروتوكولات المُفعَّلة الناتج لا يحتوي على "ثغرات"، مثلاً إذا كان TLS 1.0 وTLS 1.2 كلاهما مُفعَّلين، فتأكد أيضًا من ترك TLS 1.1 مُفعَّلاً. .IP \fBOptions\fP 4 .IX Item الخيارات الوسيط \fBvalue\fP هو قائمة مفصولة بفواصل من عدة أعلام لتعيينها. إذا سُبقت سلسلة العلم بـ \fB\-\fP فهي مُعطَّلة. راجع دالة \fBSSL_CTX_set_options\fP\|(3) لمزيد من التفاصيل حول الخيارات الفردية. .Sp كل خيار مُدرَج أدناه. حيث تكون العملية مُفعَّلة مبدئيًا، يُحتاج إلى صيغة \fB\-flag\fP لتعطيلها. .Sp \&\fBSessionTicket\fP: دعم تذكرة الجلسة، مُفعَّل مبدئيًا. عكس \&\fBSSL_OP_NO_TICKET\fP: أي \fB\-SessionTicket\fP هو نفس تعيين \&\fBSSL_OP_NO_TICKET\fP. .Sp \&\fBCompression\fP: دعم ضغط SSL/TLS، مُعطَّل مبدئيًا. عكس \fBSSL_OP_NO_COMPRESSION\fP. .Sp \&\fBEmptyFragments\fP: استخدام أجزاء فارغة كإجراء مضاد ضد ثغرة بروتوكول SSL 3.0/TLS 1.0 التي تؤثر على المُعمِّيات CBC. هو مُعيَّن مبدئيًا. عكس \fBSSL_OP_DONT_INSERT_EMPTY_FRAGMENTS\fP. .Sp \&\fBBugs\fP: تمكين حلول بديلة متنوعة للأخطاء. نفس \fBSSL_OP_ALL\fP. .Sp \&\fBDHSingle\fP: تمكين مفاتيح DH للاستخدام الفردي، مُعيَّن مبدئيًا. عكس \&\fBSSL_OP_DH_SINGLE\fP. يُستخدم فقط بواسطة الخوادم. .Sp \&\fBECDHSingle\fP: تمكين مفاتيح ECDH للاستخدام الفردي، مُعيَّن مبدئيًا. عكس \&\fBSSL_OP_ECDH_SINGLE\fP. يُستخدم فقط بواسطة الخوادم. .Sp \&\fBServerPreference\fP: استخدام ترتيب تفضيل الخادم وليس العميل عند تحديد أي حزمة معمِّي أو خوارزمية توقيع أو منحنى إهليلجي (TLS 1.2) أو مجموعة (TLS 1.3) لاستخدامها لاتصال وارد. مكافئ لـ \fBSSL_OP_SERVER_PREFERENCE\fP. يُستخدم فقط بواسطة الخوادم. .Sp \&\fBPrioritizeChaCha\fP: يُعطي أولوية للمُعمِّيات ChaCha عندما يكون لدى العميل معمِّي ChaCha20 في أعلى قائمة تفضيلاته. هذا يشير عادةً إلى استخدام عميل محمول. مكافئ لـ \fBSSL_OP_PRIORITIZE_CHACHA\fP. يُستخدم فقط بواسطة الخوادم. .Sp \&\fBNoResumptionOnRenegotiation\fP: تعيين علم \&\fBSSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION\fP. يُستخدم فقط بواسطة الخوادم. .Sp \&\fBNoRenegotiation\fP: يُعطِّل جميع محاولات إعادة التفاوض في TLSv1.2 والإصدارات الأقدم، وهو نفس ضبط \fBSSL_OP_NO_RENEGOTIATION\fP. .Sp \&\fBUnsafeLegacyRenegotiation\fP: يسمح باستخدام إعادة التفاوض القديمة غير الآمنة. مكافئ لـ \fBSSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION\fP. .Sp \&\fBUnsafeLegacyServerConnect\fP: يسمح باستخدام إعادة التفاوض القديمة غير الآمنة لعملاء OpenSSL فقط. مكافئ لـ \fBSSL_OP_LEGACY_SERVER_CONNECT\fP. .Sp \&\fBEncryptThenMac\fP: يستخدم امتداد التشفير ثم MAC، مُفعَّل مبدئيًا. عكس \fBSSL_OP_NO_ENCRYPT_THEN_MAC\fP: أي أن \&\fB\-EncryptThenMac\fP هو نفس ضبط \fBSSL_OP_NO_ENCRYPT_THEN_MAC\fP. .Sp \&\fBAllowNoDHEKEX\fP: في TLSv1.3 يسمح بوضع تبادل مفاتيح غير قائم على (ec)dhe عند الاستئناف. هذا يعني أنه لن يكون هناك سرية تطلعية للجلسة المستأنفة. مكافئ لـ \fBSSL_OP_ALLOW_NO_DHE_KEX\fP. .Sp \&\fBPreferNoDHEKEX\fP: في TLSv1.3، عند الاستئناف، يفضل الخادم وضع تبادل مفاتيح غير قائم على (ec)dhe على الوضع القائم على (ec)dhe. يتطلب \&\fBAllowNoDHEKEX\fP. مكافئ لـ \fBSSL_OP_PREFER_NO_DHE_KEX\fP. يُستخدم فقط بواسطة الخوادم. .Sp \&\fBMiddleboxCompat\fP: إذا ضُبط، تُرسل رسائل تغيير المُعمِّي الوهمية (CCS) في TLSv1.3. هذا يجعل TLSv1.3 يبدو أشبه بـ TLSv1.2 بحيث لا تقطع الصناديق الوسيطة التي لا تفهم TLSv1.3 الاتصال. هذا الخيار مضبوط مبدئيًا. قد لا تضبطه إصدارات OpenSSL المستقبلية مبدئيًا. مكافئ لـ \fBSSL_OP_ENABLE_MIDDLEBOX_COMPAT\fP. .Sp \&\fBAntiReplay\fP: إذا ضُبط، يكتشف OpenSSL آليًا إذا استُخدمت تذكرة جلسة أكثر من مرة، وتفاوض على TLSv1.3، وفُعِّلت البيانات المبكرة على الخادم. يُفرض مصافحة كاملة إذا استُخدمت تذكرة جلسة مرة ثانية أو لاحقة. هذا الخيار مضبوط مبدئيًا ويُستخدم فقط بواسطة الخوادم. إجراءات منع إعادة التشغيل مطلوبة للامتثال لمواصفات TLSv1.3. قد تتمكن بعض التطبيقات من تخفيف مخاطر إعادة التشغيل بطرق أخرى، وفي هذه الحالات لا تكون وظيفة OpenSSL المدمجة مطلوبة. تعطيل منع إعادة التشغيل مكافئ لضبط \fBSSL_OP_NO_ANTI_REPLAY\fP. .Sp \&\fBExtendedMasterSecret\fP: يستخدم امتداد السر الرئيسي الموسع، مُفعَّل مبدئيًا. عكس \fBSSL_OP_NO_EXTENDED_MASTER_SECRET\fP: أي أن \&\fB\-ExtendedMasterSecret\fP هو نفس ضبط \fBSSL_OP_NO_EXTENDED_MASTER_SECRET\fP. .Sp \&\fBCANames\fP: يستخدم امتداد أسماء المراجع المصدقة (CA)، مُفعَّل مبدئيًا. عكس \fBSSL_OP_DISABLE_TLSEXT_CA_NAMES\fP: أي أن \&\fB\-CANames\fP هو نفس ضبط \fBSSL_OP_DISABLE_TLSEXT_CA_NAMES\fP. .Sp \&\fBKTLS\fP: يُفعِّل TLS النواة إذا دعم الدعم في التجميع، وكان مدعومًا من قبل مجموعات المُعمِّيات والامتدادات المتفاوض عليها. مكافئ لـ \&\fBSSL_OP_ENABLE_KTLS\fP. .Sp \&\fBStrictCertCheck\fP: يُفعِّل فحص الشهادة الصارم. مكافئ لضبط \fBSSL_CERT_FLAG_TLS_STRICT\fP باستخدام \fBSSL_CTX_set_cert_flags()\fP. .Sp \&\fBTxCertificateCompression\fP: يدعم إرسال الشهادات المضغوطة، مُفعَّل مبدئيًا. عكس \fBSSL_OP_NO_TX_CERTIFICATE_COMPRESSION\fP: أي أن \&\fB\-TxCertificateCompression\fP هو نفس ضبط \fBSSL_OP_NO_TX_CERTIFICATE_COMPRESSION\fP. .Sp \&\fBRxCertificateCompression\fP: يدعم استقبال الشهادات المضغوطة، مُفعَّل مبدئيًا. عكس \fBSSL_OP_NO_RX_CERTIFICATE_COMPRESSION\fP: أي أن \&\fB\-RxCertificateCompression\fP هو نفس ضبط \fBSSL_OP_NO_RX_CERTIFICATE_COMPRESSION\fP. .Sp \&\fBKTLSTxZerocopySendfile\fP: يستخدم وضع الإرسال بدون نسخ (zerocopy) لـ \fBsendfile()\fP، مما يعطي تحسينًا في الأداء عند استخدامه مع تفريغ أجهزة KTLS. لاحظ أنه قد تُنقل سجلات TLS غير صالحة إذا تغير الملف أثناء إرساله. هذا الخيار ليس له تأثير إذا لم يُفعَّل \fBKTLS\fP. مكافئ لـ \&\fBSSL_OP_ENABLE_KTLS_TX_ZEROCOPY_SENDFILE\fP. هذا الخيار ينطبق فقط على Linux. KTLS sendfile على FreeBSD لا يقدم خيارًا لتعطيل النسخ الصفري ويعمل دائمًا في هذا الوضع. .Sp \&\fBIgnoreUnexpectedEOF\fP: مكافئ لـ \fBSSL_OP_IGNORE_UNEXPECTED_EOF\fP. يجب عليك فقط تفعيل هذا الخيار إذا كان البروتوكول الذي يعمل عبر TLS يمكنه اكتشاف هجوم الاقتطاع بنفسه، وكان التطبيق يتحقق من هجوم الاقتطاع ذلك. .IP \fBVerifyMode\fP 4 .IX Item VerifyMode وسيطة \fBvalue\fP هي قائمة مفصولة بفواصل من العلامات لضبطها. .Sp \&\fBPeer\fP يُفعِّل التحقق من النظير: للعملاء فقط. .Sp \&\fBRequest\fP يطلب شهادة من العميل لكن لا يشترطها. للخوادم فقط. .Sp \&\fBRequire\fP يطلب ويشترط شهادة من العميل: يحدث خطأ إذا لم يقدم العميل شهادة. للخوادم فقط. .Sp \&\fBOnce\fP يطلب شهادة من العميل فقط عند الاتصال الأولي: لا عند إعادة التفاوض. للخوادم فقط. .Sp \&\fBRequestPostHandshake\fP يهيئ الاتصال لدعم الطلبات لكن لا يشترط شهادة من العميل بعد المصافحة. لا تُطلب شهادة أثناء المصافحة الأولية. يجب أن يوفر تطبيق الخادم آلية لطلب شهادة بعد المصافحة. للخوادم فقط. TLSv1.3 فقط. .Sp \&\fBRequiresPostHandshake\fP يهيئ الاتصال لدعم الطلبات ويشترط شهادة من العميل بعد المصافحة: يحدث خطأ إذا لم يقدم العميل شهادة. لا تُطلب شهادة أثناء المصافحة الأولية. يجب أن يوفر تطبيق الخادم آلية لطلب شهادة بعد المصافحة. للخوادم فقط. TLSv1.3 فقط. .IP "\fBClientCAFile\fP, \fBClientCAPath\fP" 4 .IX Item "ClientCAFile, ClientCAPath" ملف أو دليل شهادات بصيغة PEM تُستخدم أسماؤها كمجموعة الأسماء المقبولة لمراجع التصديق الخاصة بالعميل. للخوادم فقط. هذا الخيار مدعوم فقط إذا سُمحت عمليات الشهادات. .SH "أنواع الأوامر المدعومة" .IX Header "أنواع الأوامر المدعومة" ترجع الدالة \fBSSL_CONF_cmd_value_type()\fP حالياً أحد الأنواع التالية: .IP \fBSSL_CONF_TYPE_UNKNOWN\fP 4 .IX Item SSL_CONF_TYPE_UNKNOWN سلسلة المحارف \fBoption\fP غير معروفة، يمكن استخدام قيمة الإرجاع هذه للإشارة إلى أخطاء بناء الجملة. .IP \fBSSL_CONF_TYPE_STRING\fP 4 .IX Item SSL_CONF_TYPE_STRING القيمة هي سلسلة محارف دون أي بنية محددة. .IP \fBSSL_CONF_TYPE_FILE\fP 4 .IX Item SSL_CONF_TYPE_FILE القيمة هي اسم ملف. .IP \fBSSL_CONF_TYPE_DIR\fP 4 .IX Item SSL_CONF_TYPE_DIR القيمة هي اسم دليل. .IP \fBSSL_CONF_TYPE_NONE\fP 4 .IX Item SSL_CONF_TYPE_NONE سلسلة المحارف الخاصة بالقيمة غير مستخدمة، مثل خيار سطر أوامر لا يأخذ معاملًا. .SH ملاحظات .IX Header ملاحظات ترتيب العمليات مهم. يمكن استخدام هذا لتعيين إما القيم المبدئية أو القيم التي لا يمكن تجاوزها. على سبيل المثال، إذا استدعى تطبيق: .PP .Vb 2 \& SSL_CONF_cmd(ctx, "Protocol", "\-SSLv3"); \& SSL_CONF_cmd(ctx, userparam, uservalue); .Ve .PP سيعطل دعم SSLv3 مبدئيًا لكن يمكن للمستخدم تجاوزه. أما إذا كان تسلسل الاستدعاء هو: .PP .Vb 2 \& SSL_CONF_cmd(ctx, userparam, uservalue); \& SSL_CONF_cmd(ctx, "Protocol", "\-SSLv3"); .Ve .PP SSLv3 معطل \fBدائمًا\fP ويُتجاهل أي محاولة من المستخدم لتجاوز ذلك. .PP بفحص رمز الإرجاع للدالة \fBSSL_CONF_cmd()\fP يمكن الاستعلام عما إذا كان \fBoption\fP معينًا معروفًا، وهذا مفيد إذا خُلطت قيم \fBSSL_CONF_cmd()\fP مع عمليات إضافية خاصة بالتطبيق. .PP على سبيل المثال، قد يستدعي تطبيق \fBSSL_CONF_cmd()\fP وإذا أرجع \&\-2 (أمر غير معروف) يستمر في معالجة الأوامر الخاصة بالتطبيق. .PP يمكن للتطبيقات أيضًا استخدام \fBSSL_CONF_cmd()\fP لمعالجة سطور الأوامر رغم أن الدالة المساعدة \fBSSL_CONF_cmd_argv()\fP تُستخدم عادةً بدلًا من ذلك. إحدى طرق فعل ذلك هي تعيين البادئة إلى قيمة مناسبة باستخدام \&\fBSSL_CONF_CTX_set1_prefix()\fP، وتمرير المعامل الحالي إلى \fBoption\fP والمعامل التالي إلى \fBvalue\fP (التي قد تكون NULL). .PP في هذه الحالة، إذا كانت قيمة الإرجاع موجبة فتُستخدم لتخطي ذلك العدد من المعاملات حيث عولجت بواسطة \fBSSL_CONF_cmd()\fP. إذا أُرجع \-2 فإن \fBoption\fP غير معروف ويمكن فحص المعاملات الخاصة بالتطبيق بدلًا من ذلك. إذا أُرجع \-3 فإن معاملًا مطلوبًا مفقود ويُشار إلى خطأ. إذا أُرجع 0 حدث خطأ آخر ويمكن الإبلاغ عنه للمستخدم. .PP يمكن للتطبيقات استخدام الدالة \fBSSL_CONF_cmd_value_type()\fP للتحقق من وجود أمر أو لإجراء فحص نحوي إضافي أو ترجمة لقيمة الأمر. على سبيل المثال، إذا كانت قيمة الإرجاع \fBSSL_CONF_TYPE_FILE\fP يمكن لتطبيق ترجمة اسم مسار نسبي إلى اسم مسار مطلق. .SH "القيم المُرجعة" .IX Header "القيم المُرجعة" \&\fBSSL_CONF_cmd()\fP تُرجع 1 إذا كانت قيمة \fBoption\fP معروفة و \fBvalue\fP \&\fBغير\fP مستخدمة، وتُرجع 2 إذا استُخدم كل من \fBoption\fP و \fBvalue\fP. بعبارة أخرى، تُرجع عدد المعاملات التي عولجت. هذا مفيد عند معالجة سطور الأوامر. .PP قيمة إرجاع \-2 تعني أن \fBoption\fP غير معروف. .PP قيمة إرجاع \-3 تعني أن \fBoption\fP معروف والأمر يتطلب قيمة لكن \fBvalue\fP هي NULL. .PP رمز إرجاع 0 يشير إلى أن كلاً من \fBoption\fP و \fBvalue\fP صالحان لكن حدث خطأ أثناء محاولة تنفيذ العملية: على سبيل المثال بسبب خطأ في نحو \fBvalue\fP، وفي هذه الحالة قد يوفر طابور الأخطاء معلومات إضافية. .SH أمثلة .IX Header أمثلة تعيين خوارزميات التوقيع المدعومة: .PP .Vb 1 \& SSL_CONF_cmd(ctx, "SignatureAlgorithms", "ECDSA+SHA256:RSA+SHA256:DSA+SHA256"); .Ve .PP توجد طرق متنوعة لاختيار البروتوكولات المدعومة. .PP يُعيّن هذا إصدار البروتوكول الأدنى إلى TLSv1، وبالتالي يُعطّل SSLv3. هذه هي الطريقة الموصى بها لتعطيل البروتوكولات. .PP .Vb 1 \& SSL_CONF_cmd(ctx, "MinProtocol", "TLSv1"); .Ve .PP ما يلي يُعطّل SSLv3 أيضًا: .PP .Vb 1 \& SSL_CONF_cmd(ctx, "Protocol", "\-SSLv3"); .Ve .PP ما يلي سيفعّل أولاً جميع البروتوكولات، ثم يُعطّل SSLv3. إذا لم تُعطّل أي إصدارات بروتوكول من قبل، فسيكون لهذا نفس تأثير "\-SSLv3"، ولكن إذا عُطّلت بعض الإصدارات، فسيعيد تفعيلها قبل تعطيل SSLv3. .PP .Vb 1 \& SSL_CONF_cmd(ctx, "Protocol", "ALL,\-SSLv3"); .Ve .PP فعّل TLSv1.2 فقط: .PP .Vb 2 \& SSL_CONF_cmd(ctx, "MinProtocol", "TLSv1.2"); \& SSL_CONF_cmd(ctx, "MaxProtocol", "TLSv1.2"); .Ve .PP هذا يُفعّل TLSv1.2 فقط أيضًا: .PP .Vb 1 \& SSL_CONF_cmd(ctx, "Protocol", "\-ALL,TLSv1.2"); .Ve .PP عطّل تذاكر جلسة TLS: .PP .Vb 1 \& SSL_CONF_cmd(ctx, "Options", "\-SessionTicket"); .Ve .PP فعّل الضغط: .PP .Vb 1 \& SSL_CONF_cmd(ctx, "Options", "Compression"); .Ve .PP عيّن المنحنيات المدعومة إلى P\-256، P\-384: .PP .Vb 1 \& SSL_CONF_cmd(ctx, "Curves", "P\-256:P\-384"); .Ve .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBssl\fP\|(7), \&\fBSSL_CONF_CTX_new\fP\|(3), \&\fBSSL_CONF_CTX_set_flags\fP\|(3), \&\fBSSL_CONF_CTX_set1_prefix\fP\|(3), \&\fBSSL_CONF_CTX_set_ssl_ctx\fP\|(3), \&\fBSSL_CONF_cmd_argv\fP\|(3), \&\fBSSL_CTX_set_options\fP\|(3) .SH التاريخ .IX Header التاريخ أُضيفت الدالة \fBSSL_CONF_cmd()\fP في OpenSSL 1.0.2. .PP خيار \fBSSL_OP_NO_SSL2\fP ليس له تأثير منذ الإصدار 1.1.0، لكن الكليّة محفوظة للتوافق مع الإصدارات السابقة. .PP أُضيف \fBSSL_CONF_TYPE_NONE\fP في OpenSSL 1.1.0. في الإصدارات السابقة من OpenSSL، كان تمرير أمر لا يأخذ معاملًا يُرجع \&\fBSSL_CONF_TYPE_UNKNOWN\fP. .PP أُضيف \&\fBMinProtocol\fP و \fBMaxProtocol\fP في OpenSSL 1.1.0. .PP أُضيف \&\fBAllowNoDHEKEX\fP و \fBPrioritizeChaCha\fP في OpenSSL 1.1.1. .PP خيار \fBUnsafeLegacyServerConnect\fP لم يعد مُعيَّنًا مبدئيًا منذ OpenSSL 3.0. .PP أُضيف خيارا \fBTxCertificateCompression\fP و \fBRxCertificateCompression\fP في OpenSSL 3.2. .PP أُضيف \&\fBPreferNoDHEKEX\fP في OpenSSL 3.3. .PP يُقدّم OpenSSL 3.5 دعمًا لتبادل مفاتيح TLS ما بعد الكم (PQ) عبر مجموعات TLS \&\fBMLKEM512\fP و \fBMLKEM768\fP و \fBMLKEM1024\fP. تستند هذه إلى الخوارزميات الأساسية \fBML\-KEM\-512\fP و \fBML\-KEM\-768\fP و \&\fBML\-KEM\-1024\fP من FIPS 203. .PP يُقدّم OpenSSL 3.5 أيضًا دعمًا لثلاث مجموعات TLS هجينة لتبادل مفاتيح ECDH PQ: \fBX25519MLKEM768\fP و \fBSecP256r1MLKEM768\fP و \&\fBSecP384r1MLKEM1024\fP. تُوفّر أداءً لوحدة المعالجة المركزية (CPU) مشابهًا لمجموعة ECDH المرتبطة، وإن كان ذلك على حساب رسائل تبادل مفاتيح أكبر حجمًا بشكل ملحوظ. المجموعة الثالثة، \fBSecP384r1MLKEM1024\fP، أكثر استهلاكًا لوحدة المعالجة المركزية بشكل كبير، ويرجع ذلك إلى حد كبير إلى التكلفة العالية لوحدة المعالجة المركزية لـ ECDH للمجموعة الأساسية \fBP\-384\fP. كما أن رسائل تبادل المفاتيح الخاصة بها، التي تقترب من 1700 بايت، أكبر من الـ 1200 بايت تقريبًا للمجموعتين الأوليين. .PP بدءاً من OpenSSL 3.5، لا تتأثر أسماء مجموعات تبادل المفاتيح بحالة الحروف. .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2012\-2026 لمؤلفي مشروع 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 .