.\" -*- 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 "CONFIG 5ssl" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH ضبط 5ssl "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 الاسم config \- ملفات ضبط مكتبة OpenSSL CONF .SH الوصف .IX Header الوصف توثق هذه الصفحة صيغة ملفات ضبط OpenSSL، كما تُحلل عبر \fBNCONF_load\fP\|(3) والدوال ذات الصلة. تُستخدم هذه الصيغة من العديد من أوامر OpenSSL، ولتهيئة المكتبات عند استخدامها من أي تطبيق. .PP يصف الجزء الأول الصيغة العامة لملفات الضبط، وتصف الأقسام اللاحقة دلالات الوحدات الفردية. توصف الوحدات الأخرى في \fBfips_config\fP\|(5) و \&\fBx509v3_config\fP\|(5). توصف صيغة تعريف قيم ASN.1 في \&\fBASN1_generate_nconf\fP\|(3). .SH الصياغة .IX Header الصياغة ملف الضبط هو سلسلة من السطور. السطور الفارغة، والمسافات البيضاء بين عناصر السطر، ليس لها أي أهمية. يبدأ التعليق بمحرف \fB#\fP؛ ويُتجاهل بقية السطر. إذا كان محرف \fB#\fP هو أول محرف غير مسافة في السطر، فيُتجاهل السطر بأكمله. .SS Directives .IX Subsection Directives يمكن استخدام توجيهين للتحكم في تحليل ملفات الضبط: \&\fB.include\fP و \&\fB.pragma\fP. .PP للتوافق مع الإصدارات الأقدم من OpenSSL، تُتجاهل علامة التساوي بعد التوجيه. ستتعامل معها الإصدارات الأقدم كعملية تعيين، لذا يجب توخي الحذر إذا كان الاختلاف في الدلالات مهمًا. .PP يمكن لملف أن يضمّن ملفات أخرى باستخدام صيغة التضمين: .PP .Vb 1 \& .include [=] pathname .Ve .PP إذا كان \fBpathname\fP اسم ملف بسيط، فيُضمّن هذا الملف مباشرة عند تلك النقطة. يمكن أن تحتوي الملفات المُضمّنة على عبارات \fB.include\fP تحدد ملفات أخرى. إذا كان \fBpathname\fP دليلًا، فستُضمّن جميع الملفات الموجودة داخل هذا الدليل والتي تحمل الامتداد \f(CW\*(C`.cnf\*(C'\fP أو \f(CW\*(C`.conf\*(C'\fP. (يتوفر هذا فقط على الأنظمة التي تدعم إدخال/إخراج POSIX.) تُتجاهل أي أدلة فرعية تُوجَد داخل \fBpathname\fP. وبالمثل، إذا فُتح ملف أثناء فحص دليل، وكان ذلك الملف يحتوي على توجيه \fB.include\fP يحدد دليلًا، فيُتجاهل ذلك أيضًا. .PP كقاعدة عامة، ينبغي أن يكون \fBpathname\fP مسارًا مطلقًا؛ يمكن فرض ذلك باستخدام توجيهات المترجم \fBabspath\fP و \fBincludedir\fP الموصوفة أدناه. يُسبق متغير البيئة \fBOPENSSL_CONF_INCLUDE\fP، إن وُجد، لجميع المسارات النسبية. إذا ظل المسار نسبيًا، فيُفسر بناءً على دليل العمل الحالي. .PP لإلزام جميع تضمينات الملفات بتسمية مسارات مطلقة، استخدم التوجيه التالي: .PP .Vb 1 \& .pragma [=] abspath:value .Ve .PP السلوك المبدئي، حيث تكون \fBvalue\fP هي \fBfalse\fP أو \fBoff\fP، هو السماح بالمسارات النسبية. لإلزام جميع مسارات \fB.include\fP بأن تكون مسارات مطلقة، استخدم قيمة \fBvalue\fP كـ \fBtrue\fP أو \fBon\fP. .PP في هذه الملفات، تُستخدم علامة الدولار \fB$\fP للإشارة إلى متغير، كما هو موصوف أدناه. ومع ذلك، في بعض المنصات، يشيع التعامل مع \fB$\fP كمحرف عادي في أسماء الرموز. يمكن دعم هذا السلوك باستخدام التوجيه التالي: .PP .Vb 1 \& .pragma [=] dollarid:value .Ve .PP السلوك المبدئي، حيث تكون \fBvalue\fP هي \fBfalse\fP أو \fBoff\fP، هو التعامل مع علامة الدولار كدلالة على اسم متغير؛ حيث يُفسر \f(CW\*(C`foo$bar\*(C'\fP على أنه \&\f(CW\*(C`foo\*(C'\fP متبوعًا بتوسيع المتغير \f(CW\*(C`bar\*(C'\fP. إذا كانت \fBvalue\fP هي \&\fBtrue\fP أو \fBon\fP، فإن \f(CW\*(C`foo$bar\*(C'\fP يكون اسمًا واحدًا من سبعة محارف ويجب تحديد توسيعات المتغيرات باستخدام أقواس معقوفة أو هلالية. .PP .Vb 1 \& .pragma [=] includedir:value .Ve .PP إذا حُدد مسار نسبي في توجيه \fB.include\fP، ولم يكن متغير البيئة \fBOPENSSL_CONF_INCLUDE\fP موجودًا، فتُسبق قيمة توجيه المترجم \fBincludedir\fP، إن وُجدت، للمسار. .SS الإعدادات .IX Subsection الإعدادات يُنقسَم ملف الضبط إلى عدد من \fIالأقسام\fP. يبدأ القسم باسم القسم بين قوسين مربعين، وينتهي عند بدء قسم جديد، أو عند نهاية الملف. يمكن أن يتكون اسم القسم من محارف أبجدية رقمية وشرطات سفلية. تُزال المسافات البيضاء بين الاسم والأقواس. .PP القسم الأول من ملف الضبط له طبيعة خاصة ويُشار إليه بالقسم \fBالمبدئي\fP. يكون هذا القسم عادةً بلا اسم ويمتد من بداية الملف حتى أول قسم مسمى. عندما يُبحث عن اسم ما، يُبحث عنه أولاً في القسم الحالي أو المسمى، ثم في القسم المبدئي إذا لزم الأمر. .PP تُسقَط البيئة على قسم يسمى \fBENV\fP. .PP توجد داخل القسم سلسلة من تعيينات الاسم/القيمة، الموصوفة بمزيد من التفصيل أدناه. للتذكير، الأقواس المربعة الموضحة في هذا المثال مطلوبة وليست اختيارية: .PP .Vb 7 \& [ section ] \& name1 = This is value1 \& name2 = Another value \& ... \& [ newsection ] \& name1 = New value1 \& name3 = Value 3 .Ve .PP يمكن أن يحتوي \fBالاسم\fP على أي محارف أبجدية رقمية بالإضافة إلى بضعة رموز ترقيم مثل \fB.\fP و \fB,\fP و \fB;\fP و \fB_\fP. تُتجاهل المسافات البيضاء بعد الاسم وقبل علامة التساوي. .PP إذا تكرر اسم في نفس القسم، فتُتجاهل جميع القيم باستثناء القيمة الأخيرة. في ظروف معينة، مثل الأسماء المتميزة للشهادات (DNs)، قد يظهر الحقل نفسه مرات متعددة. ولدعم ذلك، تتجاهل أوامر مثل \fBopenssl\-req\fP\|(1) أي نص بادئ مسبوق بنقطة. على سبيل المثال: .PP .Vb 2 \& 1.OU = First OU \& 2.OU = Second OU .Ve .PP تتكون \fBالقيمة\fP من السلسلة النصية التي تلي محرف \fB=\fP حتى نهاية السطر مع إزالة أي مسافات بيضاء بادئة أو لاحقة. .PP تخضع السلسلة النصية للقيمة لتوسيع المتغيرات. يُدرج النص \f(CW$var\fP أو \f(CW\*(C`${var}\*(C'\fP قيمة المتغير المسمى من القسم الحالي. لاستخدام قيمة من قسم آخر، استخدم \f(CW$section::name\fP أو \f(CW\*(C`${section::name}\*(C'\fP. وعند استخدام \f(CW$ENV::name\fP، تُستبدل قيمة متغير البيئة المحدد. .PP يجب تعريف المتغيرات قبل الإشارة إلى قيمتها، وإلا سيُشار إلى وجود خطأ ولن يُحمّل الملف. يمكن التحايل على ذلك بتحديد قيمة مبدئية في القسم \fBالمبدئي\fP قبل استخدام المتغير. .PP أي إعدادات اسم/قيمة في قسم \fBENV\fP تكون متاحة لملف الضبط، ولكن لا تُنشر إلى البيئة. .PP يعد خطأً إذا انتهى الأمر بالقيمة لتكون أطول من 64 كيلوبايت. .PP يمكن هروب محارف معينة باستخدام علامة اقتباس مفردة \fB\*(Aq\fP أو مزدوجة \fB"\fP حول القيمة، أو باستخدام شرطة مائلة عكسية \fB\e\fP قبل المحرف. وجعل المحرف الأخير في السطر \fB\e\fP يسمح بنشر سلسلة \fBالقيمة\fP النصية عبر سطور متعددة. بالإضافة إلى ذلك، تُعرف التتابعات \fB\en\fP و \fB\er\fP و \fB\eb\fP و \fB\et\fP. .PP قواعد التوسيع والهروب الموصوفة أعلاه والتي تنطبق على \fBالقيمة\fP تنطبق أيضًا على مسار توجيه \fB.include\fP. .SH "ضبط مكتبة OPENSSL" .IX Header "ضبط مكتبة OPENSSL" تستخدم الأقسام أدناه المصطلح غير الرسمي \fIالوحدة\fP للإشارة إلى جزء من وظائف OpenSSL. ولا يتطابق هذا مع المصطلح الرسمي \&\fIوحدة FIPS\fP، على سبيل المثال. .PP يبحث ضبط OpenSSL عن قيمة \fBopenssl_conf\fP في القسم المبدئي ويتخذها كاسم لقسم يحدد كيفية ضبط أي وحدات في المكتبة. ولا يعد خطأً ترك أي وحدة في ضبطها المبدئي. يمكن للتطبيق تحديد اسم مختلف عبر استدعاء \fBCONF_modules_load_file()\fP، على سبيل المثال، مباشرة. .PP يبحث OpenSSL أيضًا عن قيمة \fBconfig_diagnostics\fP. إذا كانت موجودة ولها قيمة عددية غير صفرية، فستُتجاهل أي أعلام لإخفاء الأخطاء ممررة إلى \fBCONF_modules_load()\fP. يفيد هذا في تشخيص أخطاء الضبط ولكن استخدامه في بيئة الإنتاج يتطلب اعتبارات إضافية. فعند تفعيل هذا الخيار، سيمنع خطأ الضبط الوصول إلى الخدمة تمامًا. وبدون هذا الخيار وفي وجود خطأ ضبط، سيُسمح بالوصول ولكن الضبط المطلوب لن \fBيُستخدم\fP. .PP .Vb 3 \& # These must be in the default section \& config_diagnostics = 1 \& openssl_conf = openssl_init \& \& [openssl_init] \& oid_section = oids \& providers = providers \& alg_section = evp_properties \& ssl_conf = ssl_configuration \& engines = engines \& random = random \& \& [oids] \& ... new oids here ... \& \& [providers] \& ... provider stuff here ... \& \& [evp_properties] \& ... EVP properties here ... \& \& [ssl_configuration] \& ... SSL/TLS configuration properties here ... \& \& [engines] \& ... engine properties here ... \& \& [random] \& ... random properties here ... .Ve .PP توصَف دلالات كل وحدة أدناه. تشير عبارة "في قسم التهيئة" إلى القسم المحدد بواسطة \&\fBopenssl_conf\fP أو اسم آخر (مذكور كـ \fBopenssl_init\fP في المثال أعلاه). تفترض الأمثلة أدناه استخدام الضبط أعلاه لتحديد الأقسام الفردية. .SS "ضبط معرف كائن ASN.1" .IX Subsection "ضبط معرف كائن ASN.1" يسمي الاسم \fBoid_section\fP في قسم التهيئة القسم الذي يحتوي على أزواج الاسم/القيمة لمعرفات الكائنات (OIDs). الاسم هو الاسم القصير؛ والقيمة هي اسم طويل اختياري متبوعًا بفاصلة، ثم القيمة الرقمية. وفي حين أن بعض أوامر OpenSSL تملك قسمًا خاصًا بها لتحديد معرفات الكائنات، فإن هذا القسم يجعلها متاحة لجميع الأوامر والتطبيقات. .PP .Vb 4 \& [oids] \& shortName = a very long OID name, 1.2.3.4 \& newoid1 = 1.2.3.4.1 \& some_other_oid = 1.2.3.5 .Ve .PP إذا كان هناك ضبط كامل يتضمن الجزء أعلاه في الملف \&\fIexample.cnf\fP، فإن سطر الأوامر التالي: .PP .Vb 1 \& OPENSSL_CONF=example.cnf openssl asn1parse \-genstr OID:1.2.3.4.1 .Ve .PP سيخرج: .PP .Vb 1 \& 0:d=0 hl=2 l= 4 prim: OBJECT :newoid1 .Ve .PP موضحًا أن معرف الكائن "newoid1" أُضيف كـ "1.2.3.4.1". .SS "ضبط المزود" .IX Subsection "ضبط المزود" يسمي الاسم \fBproviders\fP في section التهيئة القسم الذي يحتوي على ضبط مزود التعمية. وتسمي تعيينات الاسم/القيمة في هذا القسم مزودًا، وتشير إلى قسم الضبط الخاص بذلك المزود. يُستخدم القسم الخاص بالمزود لتحديد كيفية تحميل الوحدة، وتفعيلها، وتعيين المعاملات الأخرى. .PP تكون للأسماء التالية دلالة داخل قسم المزود: .IP \fBidentity\fP 4 .IX Item identity يُستخدم هذا لتحديد اسم بديل، متجاوزًا الاسم المبدئي المحدد في قائمة المزودين. على سبيل المثال: .Sp .Vb 2 \& [providers] \& foo = foo_provider \& \& [foo_provider] \& identity = my_fips_module .Ve .IP \fBmodule\fP 4 .IX Item module يحدد مسار الوحدة (عادةً مكتبة مشتركة) المراد تحميلها. .IP \fBactivate\fP 4 .IX Item activate إذا وُجد وضُبط على إحدى القيم yes أو on أو true أو 1، فسيُفعل المزود المرتبط. وعلى العكس، فإن ضبط هذه القيمة على no أو off أو false أو 0 سيمنع تفعيل المزود. يمكن تقديم الإعدادات بحروف صغيرة أو كبيرة. سيؤدي ضبط activate على أي إعداد آخر، أو إغفال قيمة الإعداد، إلى حدوث خطأ. .Sp = item \fBsoft_load\fP .Sp إذا فُعّل، فإنه يبلغ المكتبة بمسح كدس الأخطاء عند الفشل في تفعيل المزود المطلوب. تؤدي القيمة 1 أو yes أو true أو on (بحروف صغيرة أو كبيرة) إلى تفعيل هذا الإعداد، في حين أن القيمة 0 أو no أو false أو off (بحروف صغيرة أو كبيرة أيضًا) ستعطله. ستنتج أي قيمة أخرى خطأً. لاحظ أن هذا الإعداد يكون off مبدئيًا إذا لم يُقدّم .PP تُتاح جميع المعاملات في القسم وكذلك الأقسام الفرعية للمزود. .PP \fIالمزود المبدئي وتفعيله\fP .IX Subsection "المزود المبدئي وتفعيله" .PP إذا لم يُفعل أي مزود صراحة، فيُفعل المزود المبدئي ضمنيًا. انظر \fBOSSL_PROVIDER\-default\fP\|(7) لمزيد من التفاصيل. .PP إذا أضفت قسمًا لتنشيط أي مزود (أو مزودين) آخر صراحةً، فمن المحتمل جدًا أنك ستحتاج إلى تنشيط المزود المبدئي صراحةً، وإلا فسيصبح غير متاح في openssl. قد يجعل هذا النظام غير متاح عن بُعد. .SS "ضبط EVP" .IX Subsection "ضبط EVP" الاسم \fBalg_section\fP في قسم التهيئة يسمي القسم الذي يحتوي على الخصائص الخوارزمية عند استخدام واجهة برمجة تطبيقات \fBEVP\fP. .PP داخل قسم خصائص الخوارزمية، المعاني التالية تكون للأسماء: .IP \fBdefault_properties\fP 4 .IX Item default_properties قد تكون القيمة أي شيء مقبول كسلسلة استعلام عن الخصائص لدالة \fBEVP_set_default_properties()\fP. .IP "\fBfips_mode\fP (مهجور)" 4 .IX Item "fips_mode (مهجور)" القيمة هي قيمة منطقية يمكن أن تكون \fByes\fP أو \fBno\fP. إذا كانت القيمة \&\fByes\fP، فهذا يكافئ تمامًا: .Sp .Vb 1 \& default_properties = fips=yes .Ve .Sp إذا كانت القيمة \fBno\fP، فلن يحدث شيء. استخدام هذا الاسم مهجور، وإذا استُخدم، فيجب أن يكون الاسم الوحيد في القسم. .SS "ضبط SSL" .IX Subsection "ضبط SSL" الاسم \fBssl_conf\fP في قسم التهيئة يسمي القسم الذي يحتوي على قائمة بضبط SSL/TLS. وكما هو الحال مع المزودين، فإن كل اسم في هذا القسم يحدد قسمًا يحتوي على الضبط الخاص بهذا الاسم. على سبيل المثال: .PP .Vb 4 \& [ssl_configuration] \& server = server_tls_config \& client = client_tls_config \& system_default = tls_system_default \& \& [server_tls_config] \& ... configuration for SSL/TLS servers ... \& \& [client_tls_config] \& ... configuration for SSL/TLS clients ... .Ve .PP اسم الضبط \fBsystem_default\fP له معنى خاص. إذا كان موجودًا، فإنه يُطبق كلما أُنشئ كائن \fBSSL_CTX\fP. على سبيل المثال، لفرض حد أدنى من إصدارات بروتوكول TLS و DTLS على مستوى النظام: .PP .Vb 3 \& [tls_system_default] \& MinProtocol = TLSv1.2 \& MinProtocol = DTLSv1.2 .Ve .PP يُطبق الحد الأدنى لبروتوكول TLS على كائنات \fBSSL_CTX\fP القائمة على TLS، والحد الأدنى لبروتوكول DTLS على تلك القائمة على DTLS. ينطبق الأمر نفسه أيضًا على الإصدارات القصوى المحددة باستخدام \fBMaxProtocol\fP. .PP يتكون كل قسم ضبط من أزواج من الاسم/القيمة التي تُحلل بواسطة \fBSSL_CONF_cmd\|(3)\fP، والتي ستُستدعى بواسطة \fBSSL_CTX_config()\fP أو \&\fBSSL_config()\fP، بشكل مناسب. لاحظ أن أي محارف تسبق النقطة المبدئية في قسم الضبط تُتجاهل، بحيث يمكن استخدام الأمر نفسه لمرات متعددة. وربما يكون هذا أكثر فائدة لتحميل أنواع مفاتيح مختلفة، كما هو موضح هنا: .PP .Vb 3 \& [server_tls_config] \& RSA.Certificate = server\-rsa.pem \& ECDSA.Certificate = server\-ecdsa.pem .Ve .SS "ضبط المحرك" .IX Subsection "ضبط المحرك" الاسم \fBengines\fP في قسم التهيئة يسمي القسم الذي يحتوي على قائمة بضبط ENGINE. وكما هو الحال مع المزودين، فإن كل اسم في هذا القسم يحدد محركًا بالضبط الخاص بذلك المحرك. يُستخدم القسم الخاص بالمحرك لتحديد كيفية تحميل المحرك، وتنشيطه، وضبط المعاملات الأخرى. .PP داخل قسم المحرك، المعاني التالية تكون للأسماء: .IP \fBengine_id\fP 4 .IX Item engine_id يُستخدم هذا لتحديد اسم بديل، متجاوزًا الاسم المبدئي المحدد في قائمة المحركات. إذا كان موجودًا، فيجب أن يكون أولًا. على سبيل المثال: .Sp .Vb 2 \& [engines] \& foo = foo_engine \& \& [foo_engine] \& engine_id = myfoo .Ve .IP \fBdynamic_path\fP 4 .IX Item dynamic_path يحمل هذا ENGINE ويضيفه من المسار المعطى. وهو ما يعادل إرسال عناصر التحكم \fBSO_PATH\fP مع وسيط المسار متبوعًا بـ \fBLIST_ADD\fP بالقيمة \fB2\fP و \fBLOAD\fP إلى ENGINE الديناميكي. إذا لم يكن هذا هو السلوك المطلوب، فيمكن إرسال عناصر تحكم بديلة مباشرة إلى ENGINE الديناميكي باستخدام أوامر التحكم. .IP \fBinit\fP 4 .IX Item init يحدد هذا ما إذا كان سيتم تهيئة ENGINE. إذا كانت القيمة \fB0\fP فلن يُهيأ ENGINE، وإذا كانت القيمة \fB1\fP فستُجرى محاولة لتهيئة ENGINE فورًا. إذا لم يكن الأمر \fBinit\fP موجودًا، فستُجرى محاولة لتهيئة ENGINE بعد معالجة جميع الأوامر في قسمه. .IP \fBdefault_algorithms\fP 4 .IX Item default_algorithms يضبط هذا الخوارزميات المبدئية التي سيوفرها ENGINE باستخدام الدالة \&\fBENGINE_set_default_string()\fP. .PP تُعتبر جميع الأسماء الأخرى بمثابة اسم لأمر تحكم يُرسل إلى ENGINE، والقيمة هي الوسيط الممرر مع الأمر. تعني القيمة الخاصة \fBEMPTY\fP أنه لن تُرسل أي قيمة مع الأمر. على سبيل المثال: .PP .Vb 2 \& [engines] \& foo = foo_engine \& \& [foo_engine] \& dynamic_path = /some/path/fooengine.so \& some_ctrl = some_value \& default_algorithms = ALL \& other_ctrl = EMPTY .Ve .SS "ضبط عشوائي" .IX Subsection "ضبط عشوائي" الاسم \fBrandom\fP في قسم التهيئة يسمي القسم الذي يحتوي على إعدادات مولد الأعداد العشوائية. .PP داخل القسم العشوائي، المعاني التالية تكون للأسماء: .IP \fBrandom\fP 4 .IX Item random يُستخدم هذا لتحديد مولد البتات العشوائية. على سبيل المثال: .Sp .Vb 2 \& [random] \& random = CTR\-DRBG .Ve .Sp مولدات البتات العشوائية المتاحة هي: .RS 4 .IP \fBCTR\-DRBG\fP 4 .IX Item CTR\-DRBG .PD 0 .IP \fBHASH\-DRBG\fP 4 .IX Item HASH\-DRBG .IP \fBHMAC\-DRBG\fP 4 .IX Item HMAC\-DRBG .PD .RE .RS 4 .RE .IP \fBcipher\fP 4 .IX Item cipher يحدد هذا شفرة التعمية التي سيستخدمها مولد البتات العشوائية \fBCTR\-DRBG\fP. تتجاهل مولدات البتات العشوائية الأخرى هذا الاسم. القيمة المبدئية هي \fBAES\-256\-CTR\fP. .IP \fBdigest\fP 4 .IX Item digest يحدد هذا الخلاصة التي ستستخدمها مولدات البتات العشوائية \fBHASH\-DRBG\fP أو \fBHMAC\-DRBG\fP. تتجاهل مولدات البتات العشوائية الأخرى هذا الاسم. .IP \fBproperties\fP 4 .IX Item properties يضبط هذا استعلام الخاصية المستخدم عند جلب مولد البتات العشوائية وأي خوارزميات أساسية. .IP \fBseed\fP 4 .IX Item seed يضبط هذا مصدر العشوائية الذي ينبغي استخدامه. مبدئيًا سيُستخدم \fBSEED\-SRC\fP خارج مزود FIPS. يستخدم مزود FIPS عمليات استدعاء للوصول إلى مصادر العشوائية نفسها من خارج الحدود التي تم التحقق من صحتها. .IP \fBseed_properties\fP 4 .IX Item seed_properties يضبط هذا استعلام الخاصية المستخدم عند جلب مصدر العشوائية. .IP \fBrandom_provider\fP 4 .IX Item random_provider يضبط هذا المزود لاستخدامه في استدعاءات \fBRAND_bytes\fP\|(3) بدلًا من مصادر الاعتلاج (الإنتروبيا) المدمجة. القيمة المبدئية هي "fips". إذا لم يُحمّل المزود المسمى، فستُستخدم مصادر الاعتلاج المدمجة. .SH أمثلة .IX Header أمثلة يوضح هذا المثال كيفية استخدام الاقتباس والهروب. .PP .Vb 3 \& # This is the default section. \& HOME = /temp \& configdir = $ENV::HOME/config \& \& [ section_one ] \& # Quotes permit leading and trailing whitespace \& any = " any variable name " \& other = A string that can \e \& cover several lines \e \& by including \e\e characters \& message = Hello World\en \& \& [ section_two ] \& greeting = $section_one::message .Ve .PP يوضح هذا المثال كيفية توسيع متغيرات البيئة بأمان. في هذا المثال، يُقصد بالمتغير \fBtempfile\fP الإشارة إلى ملف مؤقت، ويحدد متغير البيئة \fBTEMP\fP أو \&\fBTMP\fP، إذا كان موجودًا، الدليل الذي ينبغي وضع الملف فيه. وبما أنه يُفحص القسم المبدئي إذا لم يكن المتغير موجودًا، فإنه يمكن ضبط \fBTMP\fP ليكون مبدئيًا إلى \fI/tmp\fP، وضبط \&\fBTEMP\fP ليكون مبدئيًا إلى \fBTMP\fP. .PP .Vb 3 \& # These two lines must be in the default section. \& TMP = /tmp \& TEMP = $ENV::TMP \& \& # This can be used anywhere \& tmpfile = ${ENV::TEMP}/tmp.filename .Ve .PP يوضح هذا المثال كيفية فرض وضع FIPS للتطبيق \&\fIsample\fP. .PP .Vb 1 \& sample = fips_config \& \& [fips_config] \& alg_section = evp_properties \& \& [evp_properties] \& default_properties = "fips=yes" .Ve .SH البيئة .IX Header البيئة .IP \fBOPENSSL_CONF\fP 4 .IX Item OPENSSL_CONF المسار إلى ملف الضبط، أو سلسلة فارغة للإشارة إلى عدم وجوده. يُتجاهل في برامج set\-user\-ID و set\-group\-ID. .IP \fBOPENSSL_ENGINES\fP 4 .IX Item OPENSSL_ENGINES المسار إلى دليل المحركات. يُتجاهل في برامج set\-user\-ID و set\-group\-ID. .IP \fBOPENSSL_MODULES\fP 4 .IX Item OPENSSL_MODULES المسار إلى الدليل الذي يحتوي على وحدات OpenSSL، مثل المزودين. يُتجاهل في برامج set\-user\-ID و set\-group\-ID. .IP \fBOPENSSL_CONF_INCLUDE\fP 4 .IX Item OPENSSL_CONF_INCLUDE المسار الاختياري لإضافته في بداية جميع مسارات \fB.include\fP. .SH العلل .IX Header العلل لا توجد طريقة لتضمين المحارف باستخدام الصيغة الثمانية \fB\ennn\fP. السلاسل كلها تنتهي بمحرف فارغ (null) لذا لا يمكن للمحارف الفارغة أن تشكل جزءًا من القيمة. .PP الهروب ليس صحيحًا تمامًا: إذا كنت تريد استخدام تسلسلات مثل \fB\en\fP فلا يمكنك استخدام أي هروب بالاقتباس على السطر نفسه. .PP يمكن اعتبار القيد المتمثل في إمكانية فتح دليل واحد فقط وقراءته في المرة الواحدة بمثابة علة وينبغي إصلاحها. .SH التاريخ .IX Header التاريخ استخدمت واجهة برمجة تطبيقات غير موثقة، وهي \fBNCONF_WIN32()\fP، مجموعة مختلفة قليلاً من قواعد التحليل التي كان الغرض منها مواءمتها مع منصة مايكروسوفت ويندوز. وتحديدًا، لم يكن محرف الشرطة المائلة العكسية محرف هروب وكان يمكن استخدامه في أسماء المسارات، ولم يُتعرف إلا على محرف علامة الاقتباس المزدوجة، وكانت التعليقات تبدأ بفاصلة منقوطة. هُجرت هذه الدالة في OpenSSL 3.0؛ وسيتعين تعديل التطبيقات التي تستخدم ملفات ضبطها تلك الصيغة. .SH "انظر أيضًا" .IX Header "انظر أيضًا" \&\fBopenssl\-x509\fP\|(1)، و \fBopenssl\-req\fP\|(1)، و \fBopenssl\-ca\fP\|(1)، و \&\fBopenssl\-fipsinstall\fP\|(1)، و \&\fBASN1_generate_nconf\fP\|(3)، و \&\fBEVP_set_default_properties\fP\|(3)، و \&\fBCONF_modules_load\fP\|(3)، و \&\fBCONF_modules_load_file\fP\|(3)، و \&\fBRAND_bytes\fP\|(3)، و \&\fBfips_config\fP\|(5)، و \&\fBx509v3_config\fP\|(5). .SH "حقوق النسخ" .IX Header "حقوق النسخ" حقوق النشر 2000\-2025 لمؤلفي مشروع 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 .