OPENSSL(1ssl)

الاسم
openssl - برنامج سطر الأوامر لأوبن إس إس إل

موجز
openssl الأمر [ الخيارات ... ] [ المعاملات ... ]

openssl no-XXX [ الخيارات ]

openssl -help | -version

الوصف
OpenSSL هي مجموعة أدوات تعمية تُنفذ بروتوكولات الشبكة طبقة المقابس الآمنة (SSL) وأمن طبقة النقل (TLS) ومعايير التعمية ذات الصلة المطلوبة لهما.

برنامج openssl هو برنامج سطر أوامر لاستخدام وظائف التعمية المتنوعة لمكتبة crypto الخاصة بأوبن إس إس إل من الصدفة. ويمكن استخدامه في

 o  إنشاء وإدارة المفاتيح الخاصة، والمفاتيح العامة والمعاملات
 o  عمليات تعمية المفتاح العام
 o  إنشاء شهادات X.509، وطلبات توقيع الشهادات (CSRs) وقوائم إبطال الشهادات (CRLs)
 o  حساب ملخصات الرسائل ورموز استيثاق الرسائل
 o  التعمية وفك التعمية باستخدام المصميات
 o  اختبارات خادوم وعميل SSL/TLS
 o  التعامل مع بريد S/MIME الموقع أو المـعمّى
 o  طلبات الختم الزمني، وتوليدها والتحقق منها

ملخص الأوامر
يوفر برنامج openssl تشكيلة غنية من الأوامر (الأمر في "الموجز" أعلاه). يمكن أن يكون لكل أمر خيارات ومعاملات معطيات كثيرة، الموضحة أعلاه كـ الخيارات والمعاملات.

تتوفر وثائق مفصلة وحالات استخدام لمعظم الأوامر الفرعية القياسية (مثلاً، openssl-x509(1)). يمكن استخدام الأمر الفرعي openssl-list(1) لسرد الأوامر الفرعية.

يختبر الأمر no-XXX ما إذا كان الأمر ذو الاسم المحدد متاحاً. إذا لم يوجد أمر باسم XXX، فإنه يعيد القيمة 0 (نجاح) ويطبع no-XXX؛ وإلا فإنه يعيد 1 ويطبع XXX. في كلتا الحالتين، يذهب المخرج إلى stdout ولا يُطبع شيء على stderr. تُتجاهل معطيات سطر الأوامر الإضافية دائماً. بما أنه لكل مصمية أمر بنفس الاسم، فإن هذا يوفر طريقة سهلة لسكربتات الصدفة لاختبار مدى توفر المصميات في برنامج openssl. (لا يستطيع no-XXX اكتشاف الأوامر الزائفة مثل quit أو list أو no-XXX نفسه.)

  خيار الضبط
تستخدم أوامر كثيرة ملف ضبط خارجي لبعض أو كل معطياتها ولديها الخيار -config لتحديد ذلك الملف. الاسم المبدئي للملف هو openssl.cnf في منطقة تخزين الشهادات المبدئية، والتي يمكن تحديدها من الأمر openssl-version(1) باستخدام الخيار -d أو -a. يمكن استخدام متغير البيئة OPENSSL_CONF لتحديد موقع ملف مختلف أو لتعطيل تحميل الضبط (باستخدام سلسلة نصية فارغة).

من بين أمور أخرى، يمكن استخدام ملف الضبط لتحميل الوحدات ولتحديد المعاملات لتوليد الشهادات والأرقام العشوائية. انظر config(5) للتفاصيل.

  الأوامر القياسية

asn1parse
    تحليل تسلسل ASN.1.

ca  إدارة سلطة الشهادات (CA).

ciphers
    تحديد وصف طقم المصميات.

cms أمر CMS (بناء جملة رسالة التعمية).

crl إدارة قائمة إبطال الشهادات (CRL).

crl2pkcs7
    التحويل من CRL إلى PKCS#7.

dgst
    حساب ملخص الرسالة. حلت حسابات MAC محلها عبر openssl-mac(1).

dhparam
    توليد وإدارة معاملات ديفي-هيلمان. حل محله openssl-genpkey(1) و openssl-pkeyparam(1).

dsa إدارة بيانات DSA.

dsaparam
    توليد وإدارة معاملات DSA. حل محله openssl-genpkey(1) و openssl-pkeyparam(1).

ec  معالجة مفتاح المنحنى الإهليلجي (EC).

ecparam
    توليد ومعالجة معاملات EC.

enc التعمية، وفك التعمية، والترميز.

engine
    معالجة ومعلومات المحرك (وحدة قابلة للتحميل).

errstr
    تحويل رقم الخطأ إلى سلسلة نصية للخطأ.

fipsinstall
    تثبيت ضبط FIPS.

gendsa
    توليد مفتاح DSA خاص من المعاملات. حل محله openssl-genpkey(1) و openssl-pkey(1).

genpkey
    توليد مفتاح خاص أو معاملات.

genrsa
    توليد مفتاح RSA خاص. حل محله openssl-genpkey(1).

help
    عرض معلومات حول خيارات الأمر.

info
    عرض معلومات متنوعة مبنية في مكتبات أوبن إس إس إل.

kdf وظائف اشتقاق المفاتيح.

list
    سرد الخوارزميات والميزات.

mac حساب رمز استيثاق الرسالة.

nseq
    إنشاء تسلسل شهادات Netscape أو فحصه.

ocsp
    أمر بروتوكول حالة الشهادة عبر الإنترنت (OCSP).

passwd
    توليد كلمات السر المعماة.

pkcs12
    إدارة بيانات PKCS#12.

pkcs7
    إدارة بيانات PKCS#7.

pkcs8
    أمر تحويل المفاتيح الخاصة بتنسيق PKCS#8.

pkey
    إدارة المفاتيح العامة والخاصة.

pkeyparam
    إدارة معاملات خوارزمية المفتاح العام.

pkeyutl
    أمر العمليات التعموية لخوارزمية المفتاح العام.

prime
    حساب الأعداد الأولية.

rand
    توليد بايتات عشوائية زائفة.

rehash
    إنشاء وصلات رمزية لملفات الشهادات وقوائم إبطال الشهادات (CRL) المُسماة بقيم التعمية.

req إدارة طلبات توقيع الشهادات (CSR) من نوع PKCS#10 X.509.

rsa إدارة مفاتيح RSA.

rsautl
    أمر RSA للتوقيع، والتحقق، والتعمية، وفك التعمية. حل محله openssl-pkeyutl(1).

s_client
    ينفذ هذا عميل SSL/TLS عاماً يمكنه إنشاء اتصال شفاف بخادم بعيد يتحدث بروتوكول SSL/TLS. خُصص لأغراض الاختبار فقط ويوفر وظائف واجهة أساسية، لكنه يستخدم داخلياً معظم وظائف مكتبة ssl في OpenSSL.

s_server
    ينفذ هذا خادم SSL/TLS عاماً يقبل الاتصالات من عملاء بعيدين يتحدثون بروتوكول SSL/TLS. خُصص لأغراض الاختبار فقط ويوفر وظائف واجهة أساسية، لكنه يستخدم داخلياً معظم وظائف مكتبة ssl في OpenSSL. ويوفر بروتوكولاً خاصاً موجهاً لسطر الأوامر لاختبار وظائف SSL ومرفق استجابة HTTP بسيطاً لمحاكاة خادم ويب يدعم SSL/TLS.

s_time
    مؤقت اتصال SSL.

sess_id
    إدارة بيانات جلسة SSL.

smime
    معالجة بريد S/MIME.

speed
    قياس سرعة الخوارزمية.

spkac
    أمر طباعة وتوليد SPKAC.

srp صيانة ملف كلمات سر SRP. هذا الأمر مهجور.

storeutl
    أمر لسرد الشهادات والمفاتيح وقوائم إبطال الشهادات (CRL) وغيرها وعرضها.

ts  أمر سلطة الختم الزمني.

verify
    التحقق من شهادة X.509. انظر أيضاً صفحة الدليل openssl-verification-options(1).

version
    معلومات إصدارة OpenSSL.

x509
    إدارة بيانات شهادة X.509.

  أوامر مجموع الرسائل

blake2b512
    مجموع BLAKE2b-512

blake2s256
    مجموع BLAKE2s-256

md2 مجموع MD2

md4 مجموع MD4

md5 مجموع MD5

mdc2
    مجموع MDC2

rmd160
    مجموع RMD-160

sha1
    مجموع SHA-1

sha224
    مجموع SHA-2 224

sha256
    مجموع SHA-2 256

sha384
    مجموع SHA-2 384

sha512
    مجموع SHA-2 512

sha3-224
    مجموع SHA-3 224

sha3-256
    مجموع SHA-3 256

sha3-384
    مجموع SHA-3 384

sha3-512
    مجموع SHA-3 512

keccak-224
    مجموع KECCAK 224

keccak-256
    مجموع KECCAK 256

keccak-384
    مجموع KECCAK 384

keccak-512
    مجموع KECCAK 512

shake128
    مجموع SHA-3 SHAKE128

shake256
    مجموع SHA-3 SHAKE256

sm3 مجموع SM3

  أوامر التعمية، وفك التعمية، والترميز
توفر الأسماء المستعارة التالية وصولاً ملائمًا إلى الترميزات والتعميات الأكثر استخدامًا.

اعتمادًا على كيفية ضبط OpenSSL وبنائه، قد لا تتواجد كافة التعميات المدرجة هنا. راجع openssl-enc(1) لمزيد من المعلومات.

aes128، aes-128-cbc، aes-128-cfb، aes-128-ctr، aes-128-ecb، aes-128-ofb
    تعمية AES-128

aes192، aes-192-cbc، aes-192-cfb، aes-192-ctr، aes-192-ecb، aes-192-ofb
    تعمية AES-192

aes256، aes-256-cbc، aes-256-cfb، aes-256-ctr، aes-256-ecb، aes-256-ofb
    تعمية AES-256

aria128، aria-128-cbc، aria-128-cfb، aria-128-ctr، aria-128-ecb، aria-128-ofb
    تعمية Aria-128

aria192، aria-192-cbc، aria-192-cfb، aria-192-ctr، aria-192-ecb، aria-192-ofb
    تعمية Aria-192

aria256، aria-256-cbc، aria-256-cfb، aria-256-ctr، aria-256-ecb، aria-256-ofb
    تعمية Aria-256

base64
    ترميز Base64

bf، bf-cbc، bf-cfb، bf-ecb، bf-ofb
    تعمية Blowfish

camellia128، camellia-128-cbc، camellia-128-cfb، camellia-128-ctr، camellia-128-ecb، camellia-128-ofb
    تعمية Camellia-128

camellia192، camellia-192-cbc، camellia-192-cfb، camellia-192-ctr، camellia-192-ecb، camellia-192-ofb
    تعمية Camellia-192

camellia256، camellia-256-cbc، camellia-256-cfb، camellia-256-ctr، camellia-256-ecb، camellia-256-ofb
    تعمية Camellia-256

cast، cast-cbc
    تعمية CAST

cast5-cbc، cast5-cfb، cast5-ecb، cast5-ofb
    تعمية CAST5

chacha20
    تعمية Chacha20

des، des-cbc، des-cfb، des-ecb، des-ede، des-ede-cbc، des-ede-cfb، des-ede-ofb، des-ofb
    معمِيّ DES

des3، desx، des-ede3، des-ede3-cbc، des-ede3-cfb، des-ede3-ofb
    معمِيّ Triple-DES

idea، idea-cbc، idea-cfb، idea-ecb، idea-ofb
    معمِيّ IDEA

rc2، rc2-cbc، rc2-cfb، rc2-ecb، rc2-ofb
    معمِيّ RC2

rc4 معمِيّ RC4

rc5، rc5-cbc، rc5-cfb، rc5-ecb، rc5-ofb
    معمِيّ RC5

seed، seed-cbc، seed-cfb، seed-ecb، seed-ofb
    معمِيّ SEED

sm4، sm4-cbc، sm4-cfb، sm4-ctr، sm4-ecb، sm4-ofb
    معمِيّ SM4

الخيارات
تعتمد تفاصيل الخيارات المتاحة على الأمر المحدد. يصف هذا القسم بعض الخيارات الشائعة ذات السلوك المشترك.

  خيارات البرنامج
يمكن تحديد هذه الخيارات دون تحديد أمر للحصول على المساعدة أو معلومات الإصدار.

-help
    يوفر ملخصًا مقتضبًا لجميع الخيارات. لمزيد من المعلومات التفصيلية، يدعم كل أمر خيار -help. يقبل --help أيضًا.

-version
    يوفر ملخصًا مقتضبًا لإصدار برنامج openssl. لمزيد من المعلومات التفصيلية انظر openssl-version(1). يقبل --version أيضًا.

  خيارات شائعة

-help
    إذا كان الخيار يأخذ معاملًا، فسيُعطى "نوع" المعامل أيضًا.

--  ينهي هذا قائمة الخيارات. وهو مفيد غالبًا إذا كانت أي من معاملات أسماء الملفات تبدأ بعلامة ناقص:

     openssl verify [flags...] -- -cert1.pem...

  خيارات التنسيق
انظر صفحة الدليل openssl-format-options(1).

  خيارات عبارة المرور
انظر صفحة الدليل openssl-passphrase-options(1).

  خيارات الحالة العشوائية
قبل إصدار OpenSSL 1.1.1، كان من الشائع أن تخزن التطبيقات معلومات حول حالة مولد الأرقام العشوائية في ملف يُحمّل عند بدء التشغيل ويُعاد كتابته عند الخروج. في أنظمة التشغيل الحديثة، لم يعد هذا ضروريًا بشكل عام حيث سيقوم OpenSSL ببذر نفسه من مصدر اعتلاج (entropy) موثوق يوفره نظام التشغيل. لا تزال هذه الأعلام مدعومة للمنصات الخاصة أو الظروف التي قد تتطلبها.

يُعد استخدام نفس ملف البذر أكثر من مرة خطأً بشكل عام، ويجب إقران كل استخدام لـ -rand مع -writerand.

-rand files
    ملف أو ملفات تحتوي على بيانات عشوائية تُستخدم لبذر مولد الأرقام العشوائية. يمكن تحديد ملفات متعددة مفصولة بمحرف يعتمد على نظام التشغيل. الفاصل هو ";" لنظام MS-Windows، و "," لنظام OpenVMS، و ":" للبقية. طريقة أخرى لتحديد ملفات متعددة هي تكرار هذا العلم بأسماء ملفات مختلفة.

-writerand file
    يكتب بيانات البذر في file المحدد عند الخروج. يمكن استخدام هذا الملف في استدعاء لاحق للأمر.

  خيارات التحقق من الشهادة
انظر صفحة الدليل openssl-verification-options(1).

  خيارات تنسيق الاسم
انظر صفحة الدليل openssl-namedisplay-options(1).

  خيارات إصدار TLS
تستخدم عدة أوامر SSL أو TLS أو DTLS. مبدئيًا، تستخدم الأوامر TLS وسيعرض العملاء أدنى وأعلى إصدار بروتوكول يدعمونه، وستختار الخوادم أعلى إصدار يعرضه العميل ويدعمه الخادم أيضًا.

يمكن استخدام الخيارات أدناه لتقييد إصدارات البروتوكول المستخدمة، وما إذا كان سيُستخدم TCP (لـ SSL و TLS) أو UDP (لـ DTLS). لاحظ أن جميع البروتوكولات والأعلام قد لا تكون متاحة، اعتمادًا على كيفية بناء OpenSSL.

-ssl3، -tls1، -tls1_1، -tls1_2، -tls1_3، -no_ssl3، -no_tls1، -no_tls1_1، -no_tls1_2، -no_tls1_3
    تتطلب هذه الخيارات استخدام بروتوكولات SSL أو TLS المحددة أو تعطلها. عند اشتراط إصدار TLS محدد، سيُعرض هذا الإصدار أو يُقبل فقط. يمكن إعطاء بروتوكول محدد واحد فقط ولا يمكن دمجه مع أي من خيارات no_. خيارات no_* لا تعمل مع الأمرين s_time و ciphers ولكنها تعمل مع الأمرين s_client و s_server.

-dtls، -dtls1، -dtls1_2
    تحدد هذه الخيارات استخدام DTLS بدلاً من TLS. مع -dtls، سيتفاوض العملاء على أي إصدار بروتوكول DTLS مدعوم. استخدم خيارات -dtls1 أو -dtls1_2 لدعم DTLS1.0 أو DTLS1.2 فقط، على التوالي.

  خيارات المحرك

-engine id
    حَمّل المحرك المحدد بواسطة id واستخدم جميع الطرق التي ينفذها (الخوارزميات، تخزين المفاتيح، إلخ.)، ما لم يُنص على خلاف ذلك في الوثائق الخاصة بالأمر أو ضُبط للقيام بذلك، كما هو موضح في "تهيئة المحرك" في config(5).

    سيُستخدم المحرك لمعرفات المفاتيح المحددة باستخدام -key والخيارات المماثلة عند إعطاء خيار مثل -keyform engine.

    حالة خاصة هي محرك "loader_attic"، المخصص لأغراض اختبار OpenSSL الداخلية فقط ويدعم تحميل المفاتيح والمعاملات والشهادات وقوائم CRL من الملفات. عند استخدام هذا المحرك، تُقرأ الملفات التي تحتوي على هذه الاعتمادات عبر هذا المحرك. استخدام مخطط "file:" اختياري؛ اسم ملف (مسار) بسيط سيفي بالغرض.

الخيارات التي تحدد المفاتيح، مثل -key وما يماثلها، يمكنها استخدام مخطط URI العام لتحميل مفاتيح محرك OpenSSL وهو "org.openssl.engine:" لاسترداد المفاتيح الخاصة والعامة. صيغة URI هي كما يلي، بشكل مبسط:

    org.openssl.engine:{engineid}:{keyid}

حيث "{engineid}" هو هوية/اسم المحرك، و "{keyid}" هو معرف مفتاح يقبله ذلك المحرك. على سبيل المثال، عند استخدام محرك يتصل بتنفيذ PKCS#11، سيكون URI المفتاح العام شيئًا كهذا (هذا مثال لمحرك PKCS#11 الذي هو جزء من OpenSC):

    -key org.openssl.engine:pkcs11:label_some-private-key

لاحتمال ثالث، بالنسبة للمحركات والمزودين الذين نفذوا OSSL_STORE_LOADER(3) الخاص بهم، لا ينبغي أن يكون "org.openssl.engine:" ضروريًا. بالنسبة لتنفيذ PKCS#11 الذي نفذ مثل هذا المحمل، يجب أن يكون من الممكن استخدام URI لـ PKCS#11 كما هو محدد في RFC 7512 مباشرة:

    -key pkcs11:object=some-private-key;pin-value=1234

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

-provider name
    حَمّل وابدأ المزود المحدد بواسطة name. يمكن أن يكون name أيضًا مسارًا إلى وحدة المزود. في هذه الحالة سيكون اسم المزود هو المسار المحدد وليس فقط اسم وحدة المزود. تفسير المسارات النسبية يعتمد على المنصة. مسار "MODULESDIR" المهيأ، أو متغير البيئة OPENSSL_MODULES، أو المسار المحدد بواسطة -provider-path يُضاف مسبقًا إلى المسارات النسبية. انظر provider(7) لوصف أكثر تفصيلاً.

-provider-path path
    يحدد مسار البحث الذي سيُستخدم للبحث عن المزودين. وبالمثل، يمكن ضبط متغير البيئة OPENSSL_MODULES.

-provparam [name:]key=value
    اضبط معامل التهيئة key على القيمة val في المزود name (اختياري)، إذا لم يُحدد name، فسيُطبق الإعداد على جميع المزودين المحملين. يمكن تحديد هذا الخيار عدة مرات لضبط معاملات متعددة. الخيارات التي تحدد مزودين غير مبدئيين لتحميلهم يجب أن تسبق هذا الخيار إذا كان الإعداد مقصودًا ليُطبق على المزودين الذين سيتم تحميلهم. المعاملات التي تؤثر فقط على بدء تشغيل المزود يجب، في الوقت الحالي، ضبطها في ملف التهيئة، فقط المعاملات التي يُستعلم عنها أيضًا حسب الحاجة لاحقًا يكون لها أي تأثير عند ضبطها عبر هذه الواجهة. يتم دعم المعاملات ذات قيم سلاسل UTF8 فقط. انظر وثائق المزود المحدد والخوارزميات المرتبطة به لأي معاملات مدعومة.

-propquery propq
    يحدد بند استعلام الخاصية الذي سيُستخدم عند جلب الخوارزميات من المزودين المحملين. انظر property(7) لوصف أكثر تفصيلاً.

البيئة
يمكن لمكتبات OpenSSL أن تأخذ بعض معاملات التهيئة من البيئة.

للحصول على معلومات حول جميع متغيرات البيئة المستخدمة بواسطة مكتبات OpenSSL، مثل OPENSSL_CONF و OPENSSL_MODULES و OPENSSL_TRACE، انظر openssl-env(7).

للحصول على معلومات حول استخدام متغيرات البيئة في التهيئة، انظر "ENVIRONMENT" في config(5).

للحصول على معلومات حول أوامر محددة، انظر openssl-engine(1) و openssl-rehash(1) و tsget(1).

للحصول على معلومات حول الاستعلام عن أعلام معمارية وحدة المعالجة المركزية أو تحديدها، انظر OPENSSL_ia32cap(3) و OPENSSL_ppccap(3) و OPENSSL_s390xcap(3) و OPENSSL_riscvcap(3).

انظر أيضًا
openssl-asn1parse(1)، openssl-ca(1)، openssl-ciphers(1)، openssl-cms(1)، openssl-crl(1)، openssl-crl2pkcs7(1)، openssl-dgst(1)، openssl-dhparam(1)، openssl-dsa(1)، openssl-dsaparam(1)، openssl-ec(1)، openssl-ecparam(1)، openssl-enc(1)، openssl-engine(1)، openssl-errstr(1)، openssl-gendsa(1)، openssl-genpkey(1)، openssl-genrsa(1)، openssl-kdf(1)، openssl-list(1)، openssl-mac(1)، openssl-nseq(1)، openssl-ocsp(1)، openssl-passwd(1)، openssl-pkcs12(1)، openssl-pkcs7(1)، openssl-pkcs8(1)، openssl-pkey(1)، openssl-pkeyparam(1)، openssl-pkeyutl(1)، openssl-prime(1)، openssl-rand(1)، openssl-rehash(1)، openssl-req(1)، openssl-rsa(1)، openssl-rsautl(1)، openssl-s_client(1)، openssl-s_server(1)، openssl-s_time(1)، openssl-sess_id(1)، openssl-smime(1)، openssl-speed(1)، openssl-spkac(1)، openssl-srp(1)، openssl-storeutl(1)، openssl-ts(1)، openssl-verify(1)، openssl-version(1)، openssl-x509(1)، config(5)، crypto(7)، openssl-env(7). ssl(7)، x509v3_config(5)

التاريخ
أُضيفت خيارات list -XXX-algorithms في OpenSSL 1.0.0؛ للحصول على ملاحظات حول توفر الأوامر الأخرى، انظر صفحات الدليل الفردية الخاصة بها.

الخيار -issuer_checks مهجور بدءًا من الإصدار 1.1.0 من OpenSSL ويُتجاهل بصمت.

الخياران -xcertform و -xkeyform عفا عليهما الزمن منذ الإصدار 3.0 من OpenSSL وليس لهما أي أثر.

الوضع التفاعلي، الذي كان يُستدعى بتشغيل "openssl" دون أي معاملات إضافية، أُزيل في الإصدار 3.0 من OpenSSL، وأصبح تشغيل البرنامج دون معاملات يكافئ "openssl help" حاليًا.

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

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

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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