OPENSSL-TS(1ssl) OpenSSL OPENSSL-TS(1ssl)

الاسم

openssl-ts - أمر سلطة ختم الوقت

موجز

openssl ts -help

openssl ts -query [-config ملف_الضبط] [-data ملف_للبصم] [-digest بايتات_الخلاصة] [-خلاصة] [-tspolicy معرف_الكائن] [-no_nonce] [-cert] [-in request.tsq] [-out request.tsq] [-text] [-rand ملفات] [-writerand ملف] [-provider اسم] [-provider-path مسار] [-provparam [name:]key=value] [-propquery propq]

openssl ts -reply [-config ملف_الضبط] [-section قسم_tsa] [-queryfile request.tsq] [-passin مصدر_كلمة_السر] [-signer tsa_cert.pem] [-inkey اسم_الملف|معرف_مورد] [-خلاصة] [-chain certs_file.pem] [-tspolicy معرف_الكائن] [-in response.tsr] [-token_in] [-out response.tsr] [-token_out] [-text] [-engine id] [-provider اسم] [-provider-path مسار] [-provparam [name:]key=value] [-propquery propq]

openssl ts -verify [-data ملف_للبصم] [-digest بايتات_الخلاصة] [-queryfile request.tsq] [-in response.tsr] [-token_in] [-untrusted ملفات|معرفات_مورد] [-CAfile ملف] [-CApath دليل] [-CAstore معرف_مورد] [-allow_proxy_certs] [-attime طابع_زمني] [-no_check_time] [-check_ss_sig] [-crl_check] [-crl_check_all] [-explicit_policy] [-extended_crl] [-ignore_critical] [-inhibit_any] [-inhibit_map] [-partial_chain] [-policy معطى] [-policy_check] [-policy_print] [-purpose غرض] [-suiteB_128] [-suiteB_128_only] [-suiteB_192] [-trusted_first] [-no_alt_chains] [-use_deltas] [-auth_level رقم] [-verify_depth رقم] [-verify_email بريد] [-verify_hostname اسم_المضيف] [-verify_ip ip] [-verify_name اسم] [-x509_strict] [-issuer_checks] [-provider اسم] [-provider-path مسار] [-provparam [name:]key=value] [-propquery propq]

الوصف

هذا الأمر عبارة عن تطبيق عميل وخادم أساسي لسلطة ختم الوقت (TSA) كما هو محدد في RFC 3161 (بروتوكول ختم الوقت، TSP). يمكن أن تكون سلطة TSA جزءًا من نشر PKI ودورها هو توفير إثبات طويل الأمد لوجود بيانات معينة قبل وقت محدد. فيما يلي وصف موجز للبروتوكول:

1.
يحسب عميل TSA قيمة بصمة (hash) أحادية الاتجاه لملف بيانات ويرسل البصمة إلى TSA.
2.
ترفق TSA التاريخ والوقت الحاليين بقيمة البصمة المستلمة، وتوقعهما وترسل رمز ختم الوقت (timestamp token) مرة أخرى إلى العميل. من خلال إنشاء هذا الرمز، تشهد TSA بوجود ملف البيانات الأصلي في وقت توليد الاستجابة.
3.
يستلم عميل TSA رمز ختم الوقت ويستوثق من التوقيع عليه. كما يتحقق مما إذا كان الرمز يحتوي على نفس قيمة البصمة التي أرسلها إلى TSA.

توجد وحدة بيانات بروتوكول واحدة مرمز بترميز DER محددة لنقل طلب ختم الوقت إلى TSA وأخرى لإرسال استجابة ختم الوقت مرة أخرى إلى العميل. لهذا الأمر ثلاث وظائف رئيسة: إنشاء طلب ختم وقت بناءً على ملف بيانات، إنشاء استجابة ختم وقت بناءً على طلب، والاستيثاق مما إذا كانت الاستجابة تتوافق مع طلب معين أو ملف بيانات.

لا يوجد دعم لإرسال الطلبات/الاستجابات آليًا عبر HTTP أو TCP حتى الآن كما هو مقترح في RFC 3161. يجب على المستخدمين إرسال الطلبات إما عن طريق ftp أو البريد الإلكتروني.

الخيارات

اطبع رسالة الاستخدام.
ولّد استعلام ختم وقت. لمزيد من التفاصيل انظر "توليد طلب ختم الوقت".
ولّد رد ختم وقت. لمزيد من التفاصيل انظر "توليد استجابة ختم الوقت".
استوثق من استجابة ختم الوقت. لمزيد من التفاصيل انظر "الاستيثاق من استجابة ختم الوقت".

توليد طلب ختم الوقت

يمكن استخدام الأمر -query لإنشاء وطباعة طلب ختم وقت بالخيارات التالية:

ملف الضبط المراد استخدامه. اختياري؛ لوصف القيمة المبدئية، انظر "ملخص الأوامر" في openssl(1).
ملف البيانات الذي يجب إنشاء طلب ختم وقت له. stdin هو المبدئي إذا لم يُحدد أي من المعاملين -data أو -digest. (اختياري)
من الممكن تحديد بصمة الرسالة صراحة دون ملف البيانات. يجب تحديد البصمة بتنسيق ست عشري، حرفين لكل بايت، مع فصل البايتات اختياريًا بنقطتين (مثل 1A:F6:01:... أو 1AF601...). يجب أن يتطابق عدد البايتات مع خوارزمية خلاصة الرسالة المستخدمة. (اختياري)
-خلاصة
خلاصة الرسالة المراد تطبيقها على ملف البيانات. يمكن استخدام أي خلاصة يدعمها أمر openssl-dgst(1). القيمة المبدئية هي SHA-256. (اختياري)
السياسة التي يتوقع العميل أن تستخدمها TSA لإنشاء رمز ختم الوقت. يمكن استخدام إما ترميز OID المنقط أو أسماء OID المحددة في ملف الضبط. إذا لم تُطلب أي سياسة، فستستخدم TSA سياستها المبدئية الخاصة. (اختياري)
لا يُحدد أي عدد مستخدم لمرة واحدة (nonce) في الطلب إذا أُعطي هذا الخيار. خلاف ذلك، سيُضمن nonce عشوائي زائف بطول 64 بت في الطلب. يوصى باستخدام nonce للحماية من هجمات الإعادة. (اختياري)
يُتوقع من TSA تضمين شهادة التوقيع الخاصة بها في الاستجابة. (اختياري)
يحدد هذا الخيار طلب ختم وقت أُنشئ سابقًا بتنسيق DER ليُطبع في ملف الإخراج. مفيد عندما تحتاج إلى فحص محتوى الطلب بتنسيق قابل للقراءة البشرية. (اختياري)
اسم ملف الإخراج الذي سيُكتب فيه الطلب. المبدئي هو stdout. (اختياري)
إذا حُدد هذا الخيار، فسيكون الإخراج بتنسيق نصي قابل للقراءة البشرية بدلاً من DER. (اختياري)
انظر "خيارات الحالة العشوائية" في openssl(1) لمزيد من التفاصيل.

توليد استجابة ختم الوقت

تتكون استجابة ختم الوقت (TimeStampResp) من حالة استجابة ورمز ختم الوقت نفسه (ContentInfo)، إذا نُجح في توليد الرمز. أمر -reply مخصص لإنشاء استجابة ختم وقت أو رمز ختم وقت بناءً على طلب وطباعة الاستجابة/الرمز بتنسيق قابل للقراءة البشرية. إذا لم يُحدد -token_out، يكون الإخراج دائمًا استجابة ختم وقت (TimeStampResp)، وإلا فإنه يكون رمز ختم وقت (ContentInfo).

ملف الضبط المراد استخدامه. اختياري؛ لوصف القيمة المبدئية، انظر "ملخص الأوامر" في openssl(1). انظر "خيارات ملف الضبط" للمتغيرات القابلة للضبط.
اسم قسم ملف الضبط الذي يحتوي على إعدادات توليد الاستجابة. إذا لم يُحدد، فسيُستخدم قسم TSA المبدئي، انظر "خيارات ملف الضبط" لمزيد من التفاصيل. (اختياري)
اسم الملف الذي يحتوي على طلب ختم وقت مرموز بترميز DER. (اختياري)
يحدد مصدر كلمة السر للمفتاح الخاص بـ TSA. انظر الوصف في openssl(1). (اختياري)
شهادة الموقع لـ TSA بتنسيق PEM. يجب أن يكون لشهادة توقيع TSA استخدام مفتاح ممتد واحد بالضبط مخصص لها: timeStamping. يجب أيضًا أن يكون استخدام المفتاح الممتد حرجًا (critical)، وإلا فسيُرفض الشهادة. يتجاوز متغير signer_cert في ملف الضبط. (اختياري)
المفتاح الخاص للموقع لـ TSA بتنسيق PEM. يتجاوز خيار signer_key في ملف الضبط. (اختياري)
-خلاصة
خلاصة التوقيع المراد استخدامها. تتجاوز خيار signer_digest في ملف الضبط. (إلزامي ما لم يُحدد في ملف الضبط)
مجموعة الشهادات بتنسيق PEM التي ستُضمن جميعًا في الاستجابة بالإضافة إلى شهادة الموقع إذا استُخدم خيار -cert في الطلب. يُفترض أن يحتوي هذا الملف على سلسلة الشهادات لشهادة الموقع من مُصدرها فصاعدًا. لا يبني أمر -reply سلسلة شهادات آليًا. (اختياري)
السياسة المبدئية المراد استخدامها للاستجابة ما لم يطلب العميل صراحة سياسة TSA معينة. يمكن تحديد OID إما بالترميز المنقط أو باسمه. يتجاوز خيار default_policy في ملف الضبط. (اختياري)
يحدد استجابة ختم زمني أو وسم ختم زمني (إذا حُدد -token_in أيضاً) أُنشئ سابقاً بتنسيق DER ليُكتب في ملف المخرجات. لا يتطلب هذا الخيار طلباً، فهو مفيد على سبيل المثال عندما تحتاج إلى فحص محتوى استجابة أو وسم، أو إذا كنت تريد استخراج وسم الختم الزمني من الاستجابة. إذا كانت المدخلات وسماً والمخرجات استجابة ختم زمني، تُضاف معلومات حالة 'granted' (ممنوح) مبدئية إلى الوسم. (اختياري)
يمكن استخدام هذه العلامة مع الخيار -in وتشير إلى أن المدخلات عبارة عن وسم ختم زمني مرمّز بتنسيق DER ‏(ContentInfo) بدلاً من استجابة ختم زمني (TimeStampResp). (اختياري)
تُكتب الاستجابة في هذا الملف. يعتمد تنسيق ومحتوى الملف على خيارات أخرى (انظر -text، و -token_out). المخرج القياسي (stdout) هو المبدئي. (اختياري)
تكون المخرجات وسماً لختم زمني (ContentInfo) بدلاً من استجابة ختم زمني (TimeStampResp). (اختياري)
إذا حُدد هذا الخيار، فسيكون الإخراج بتنسيق نصي قابل للقراءة البشرية بدلاً من DER. (اختياري)
انظر "خيارات المحرك" في openssl(1). هذا الخيار مهجور.
انظر "خيارات المزود" في openssl(1)، و provider(7)، و property(7).

التحقق من استجابة الختم الزمني

يُستخدم الأمر -verify للتحقق مما إذا كانت استجابة الختم الزمني أو وسم الختم الزمني صالحة وتطابق طلب ختم زمني معين أو ملف بيانات. لا يستخدم الأمر -verify ملف الضبط.

يجب التحقق من الاستجابة أو الوسم مقابل file_to_hash. يُعمى الملف (hashed) باستخدام خوارزمية خلاصة الرسالة المحددة في الوسم. يجب عدم تحديد خياري -digest و -queryfile مع هذا الخيار. (اختياري)
يجب التحقق من الاستجابة أو الوسم مقابل خلاصة الرسالة المحددة بهذا الخيار. يجب أن يتطابق عدد البايتات مع خوارزمية خلاصة الرسالة المحددة في الوسم. يجب عدم تحديد خياري -data و -queryfile مع هذا الخيار. (اختياري)
طلب الختم الزمني الأصلي بتنسيق DER. يجب عدم تحديد خياري -data و -digest مع هذا الخيار. (اختياري)
استجابة الختم الزمني التي تحتاج إلى تحقق بتنسيق DER. (إلزامي)
يمكن استخدام هذه العلامة مع الخيار -in وتشير إلى أن المدخلات عبارة عن وسم ختم زمني مرمّز بتنسيق DER ‏(ContentInfo) بدلاً من استجابة ختم زمني (TimeStampResp). (اختياري)
مجموعة من الشهادات الإضافية غير الموثوقة التي قد تكون مطلوبة عند بناء سلسلة الشهادات لشهادة توقيع TSA. لا يلزم أن تحتوي هذه الشهادات على شهادة توقيع TSA وشهادات CA الوسيطة طالما أن الاستجابة تتضمنها بالفعل. (اختياري)

يمكن تقديم مصادر متعددة، مفصولة بفواصل و/أو مسافات فارغة. يمكن أن يحتوي كل ملف على شهادات متعددة.

انظر "خيارات الشهادات الموثوقة" في openssl-verification-options(1) للحصول على التفاصيل. يجب تحديد واحد على الأقل من -CAfile أو -CApath أو -CAstore.
اضبط خيارات متنوعة للتحقق من سلسلة الشهادات. انظر "خيارات التحقق" في openssl-verification-options(1) للحصول على التفاصيل.

تتسبب أي أخطاء في التحقق في خروج الأمر.

خيارات ملف الضبط

يستخدم الأميران -query و -reply ملف ضبط. انظر config(5) لوصف عام لبنية ملف الضبط. يستخدم الأمر -query قسم أسماء OID الرمزية فقط ويمكنه العمل بدونه. ومع ذلك، يحتاج الأمر -reply إلى ملف الضبط لعمله.

عند وجود مفتاح لسطر الأوامر يعادل متغيراً ما، فإن المفتاح يتخطى دائماً إعدادات ملف الضبط.

قسم tsa، و default_tsa
هذا هو القسم الرئيس وهو يحدد اسم قسم آخر يحتوي على جميع خيارات الأمر -reply. يمكن تخطي هذا القسم المبدئي باستخدام مفتاح سطر الأوامر -section. (اختياري)
يحدد هذا ملفاً يحتوي على معرفات كائنات (OBJECT IDENTIFIERS) إضافية. يجب أن يتكون كل سطر في الملف من الشكل الرقمي لمعرف الكائن متبوعاً بمسافة فارغة ثم الاسم القصير متبوعاً بمسافة فارغة وأخيراً الاسم الطويل. (اختياري)
يحدد هذا قسماً في ملف الضبط يحتوي على معرفات كائنات إضافية. يجب أن يتكون كل سطر من الاسم القصير لمعرف الكائن متبوعاً بعلامة = والشكل الرقمي. يكون الاسمان القصير والطويل متماثلين عند استخدام هذا الخيار. (اختياري)
عند البدء، يُحمّل الملف المحدد في مولد الأرقام العشوائية، وعند الخروج سوف تُكتب 256 بايتاً فيه. (ملاحظة: استخدام RANDFILE لم يعد ضرورياً، انظر قسم "HISTORY".
اسم الملف الذي يحتوي على الرقم التسلسلي الست عشري لآخر استجابة ختم زمني أُنشئت. يزداد هذا الرقم بمقدار 1 لكل استجابة. إذا لم يكن الملف موجوداً وقت توليد الاستجابة، يُنشأ ملف جديد برقم تسلسلي 1. (إلزامي)
يحدد محرك OpenSSL الذي سيُضبط ليكون المبدئي لجميع الخوارزميات المتاحة. القيمة المبدئية هي built-in، ويمكنك تحديد أي محركات أخرى يدعمها OpenSSL (مثلاً استخدم chil لـ NCipher HSM). (اختياري)
شهادة توقيع TSA بتنسيق PEM. وهي مماثلة لخيار سطر الأوامر -signer. (اختياري)
ملف يحتوي على مجموعة من الشهادات المرمزة بتنسيق PEM والتي يجب تضمينها في الاستجابة. وهو مماثل لخيار سطر الأوامر -chain. (اختياري)
المفتاح الخاص لـ TSA بتنسيق PEM. وهو مماثل لخيار سطر الأوامر -inkey. (اختياري)
خلاصة التوقيع المراد استخدامها. وهي مماثلة لخيار سطر الأوامر -digest. (إلزامي ما لم يُحدد في سطر الأوامر)
السياسة المبدئية المطلوب استخدامها عندما لا يفرض الطلب أي سياسة. وهي مماثلة لخيار سطر الأوامر -tspolicy. (اختياري)
قائمة مفصولة بفاصلة للسياسات المقبولة أيضاً من قبل TSA وتستخدم فقط إذا حدد الطلب صراحة إحداها. (اختياري)
قائمة خوارزميات خلاصة الرسائل التي يقبلها TSA. يجب تحديد خوارزمية واحدة على الأقل. (إلزامي)
دقة مصدر الوقت لـ TSA بالثواني، والملي ثانية، والميكروثانية. مثلاً secs:1، و millisecs:500، و microsecs:100. إذا فُقد أي من المكونات، يُفترض الصفر لهذا الحقل. (اختياري)
يحدد الحد الأقصى لعدد الأرقام، التي تمثل كسر الثواني، والتي يجب تضمينها في حقل الوقت. يجب إزالة الأصفار اللاحقة من الوقت، لذا قد يكون هناك فعلياً عدد أقل من الأرقام، أو لا يوجد كسر ثوانٍ على الإطلاق. مدعوم فقط على منصات UNIX. القيمة القصوى هي 6، والمبدئية هي 0. (اختياري)
إذا كان هذا الخيار yes، فيمكن دائماً ترتيب الاستجابات التي يولدها TSA، حتى لو كان فرق الوقت بين استجابتين أقل من مجموع دقتها. المبدئي هو no. (اختياري)
اضبط هذا الخيار على yes إذا كان يجب تضمين اسم الموضوع الخاص بـ TSA في حقل اسم TSA في الاستجابة. المبدئي هو no. (اختياري)
تحتوي كائنات SignedData التي يُنشئها TSA دائماً على معرف شهادة التوقيع في سمة موقعة (انظر RFC 2634، خدمات الأمان المحسنة). إذا ضُبط هذا المتغير على no، فسيُدرج معرف شهادة التوقيع هذا فقط في سمة SigningCertificate الموقعة. أما إذا ضُبط هذا المتغير على yes وحُدد المتغير certs أو الخيار -chain، فسيُدرج أيضاً معرفات شهادات السلسلة، حيث يتخطى الخيار -chain المتغير certs. المبدئي هو no. (اختياري)
يحدد هذا الخيار دالة التعمية (hash) المطلوب استخدامها لحساب معرف شهادة المفتاح العام لـ TSA. المبدئي هو sha256. (اختياري)

أمثلة

تفترض جميع الأمثلة أدناه أن OPENSSL_CONF مجهز لملف تهيئة مناسب، على سبيل المثال، سيفي ملف التهيئة التجريبي openssl/apps/openssl.cnf بالغرض.

طلب ختم زمني

لإنشاء طلب ختم زمني لملف design1.txt باستخدام بصمة SHA-256، وبدون قيمة nonce أو سياسة، ودون اشتراط وجود شهادة في الرد:

openssl ts -query -data design1.txt -no_nonce \
      -out design1.tsq

لإنشاء طلب ختم زمني مماثل مع تحديد بصمة الرسالة صراحةً:

openssl ts -query -digest b7e5d3f93198b38379852f2c04e78d73abdd0f4b \
       -no_nonce -out design1.tsq

لطباعة محتوى الطلب السابق بتنسيق مقروء للبشر:

openssl ts -query -in design1.tsq -text

لإنشاء طلب ختم زمني يتضمن بصمة SHA-512 لملف design2.txt، ويطلب شهادة الموقع وقيمة nonce، ويحدد معرف سياسة (بافتراض أن الاسم tsa_policy1 مُعرّف في قسم OID في ملف التهيئة):

openssl ts -query -data design2.txt -sha512 \
      -tspolicy tsa_policy1 -cert -out design2.tsq

رد الختم الزمني

قبل توليد الرد، يجب إنشاء شهادة توقيع لسلطة الختم الزمني (TSA) تحتوي على امتداد استخدام المفتاح الموسع الحرج timeStamping دون أي امتدادات استخدام مفاتيح أخرى. يمكنك إضافة هذا السطر إلى قسم شهادة المستخدم في ملف التهيئة لتوليد شهادة مناسبة؛

extendedKeyUsage = critical,timeStamping

انظر openssl-req(1) و openssl-ca(1) و openssl-x509(1) للحصول على التعليمات. تفترض الأمثلة أدناه أن cacert.pem يحتوي على شهادة سلطة الشهادات (CA)، وأن tsacert.pem هي شهادة التوقيع الصادرة عن cacert.pem، و tsakey.pem هو المفتاح الخاص لسلطة الختم الزمني (TSA).

لإنشاء رد ختم زمني لطلب ما:

openssl ts -reply -queryfile design1.tsq -inkey tsakey.pem \
      -signer tsacert.pem -out design1.tsr

إذا أردت استخدام الإعدادات الموجودة في ملف التهيئة، يمكنك فقط كتابة:

openssl ts -reply -queryfile design1.tsq -out design1.tsr

لطباعة رد الختم الزمني إلى المخرج القياسي بتنسيق مقروء للبشر:

openssl ts -reply -in design1.tsr -text

لإنشاء رمز ختم زمني بدلاً من رد ختم زمني:

openssl ts -reply -queryfile design1.tsq -out design1_token.der -token_out

لطباعة رمز الختم الزمني إلى المخرج القياسي بتنسيق مقروء للبشر:

openssl ts -reply -in design1_token.der -token_in -text -token_out

لاستخراج رمز الختم الزمني من رد:

openssl ts -reply -in design1.tsr -out design1_token.der -token_out

لإضافة معلومات حالة 'granted' (ممنوح) لرمز ختم زمني وبذلك يُنشأ رد صالح:

openssl ts -reply -in design1_token.der -token_in -out design1.tsr

التحقق من الختم الزمني

للتحقق من رد ختم زمني مقابل طلب:

openssl ts -verify -queryfile design1.tsq -in design1.tsr \
      -CAfile cacert.pem -untrusted tsacert.pem

للتحقق من رد ختم زمني يتضمن سلسلة الشهادات:

openssl ts -verify -queryfile design2.tsq -in design2.tsr \
      -CAfile cacert.pem

للتحقق من رمز ختم زمني مقابل ملف البيانات الأصلي:

openssl ts -verify -data design2.txt -in design2.tsr \
      -CAfile cacert.pem

للتحقق من رمز ختم زمني مقابل بصمة رسالة:

openssl ts -verify -digest b7e5d3f93198b38379852f2c04e78d73abdd0f4b \
       -in design2.tsr -CAfile cacert.pem

يمكنك أيضًا الاطلاع على دليل 'test' لمزيد من الأمثلة.

العلل

  • لا يوجد دعم للأختام الزمنية عبر SMTP، رغم أنه من السهل جدًا تنفيذ سلطة ختم زمني (TSA) آلية تعتمد على البريد الإلكتروني باستخدام procmail(1) و perl(1). دعم خادم HTTP متاح في شكل وحدة apache منفصلة. دعم عميل HTTP يقدمه tsget(1). بروتوكول TCP/IP المجرد غير مدعوم.
  • لا يُقفل الملف الذي يحتوي على آخر رقم تسلسلي لسلطة الختم الزمني عند قراءته أو كتابته. يمثل هذا مشكلة إذا حاول أكثر من مثيل من openssl(1) إنشاء رد ختم زمني في الوقت ذاته. لا تعد هذه مشكلة عند استخدام وحدة خادم apache، فهي تقوم بالقفل بشكل صحيح.
  • ابحث عن كلمة FIXME في ملفات المصدر.
  • يجب حقًا مراجعة الكود المصدري من قبل شخص آخر أيضًا.
  • هناك حاجة لمزيد من الاختبارات، لقد أجريت بعض الاختبارات الأساسية فقط (انظر test/testtsa).

التاريخ

قدم OpenSSL 1.1.1 مولدًا عشوائيًا جديدًا (CSPRNG) مع آلية بذر محسنة. تجعل آلية البذر الجديدة من غير الضروري تحديد RANDFILE لحفظ واستعادة العشوائية. جرى الاحتفاظ بهذا الخيار أساسًا لأسباب تتعلق بالتوافق.

خيار -engine أصبح مهجوراً في OpenSSL 3.0.

انظر أيضًا

openssl(1), tsget(1), openssl-req(1), openssl-x509(1), openssl-ca(1), openssl-genrsa(1), config(5), ossl_store-file(7)

حقوق النسخ

حقوق النشر 2006-2025 لمؤلفي مشروع OpenSSL. جميع الحقوق محفوظة.

مرخص بموجب رخصة Apache 2.0 (المشار إليها فيما يلي بـ ”الرخصة“). لا يجوز لك استخدام هذا الملف إلا وفقًا لشروط الرخصة. يمكنك الحصول على نسخة منها في الملف LICENSE الموجود في حزمة التوزيع المصدرية أو على الرابط https://www.openssl.org/source/license.html.

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

7 أبريل 2026 3.6.2