وثيقة استخدام OpenSSL
OpenSSL عبارة عن حزمة أدوات مفتوحة المصدر قوية مصممة لتحقيق الاتصالات الآمنة. توفر إمكانيات التشفير، وفك التشفير، ودعم بروتوكولات SSL/TLS. تأتي حزمة ServBay مزودة افتراضياً بـ OpenSSL، وستغطي هذه الوثيقة بشكل مفصل كيفية تثبيت OpenSSL وتكوينه واستخدامه.
التثبيت والتكوين
التثبيت
يتم تضمين OpenSSL بالفعل مع ServBay ولا يحتاج إلى تثبيت إضافي.
التكوين
عادةً ما يوجد ملف إعدادات OpenSSL في المسار /Applications/ServBay/package/common/openssl/3.2 (بالنسبة لأجهزة Intel في المسار /Applications/ServBay/package/common/openssl/1.1.1u)، وملف الإعدادات الافتراضي هو openssl.cnf. يمكنك تعديل ملف الإعدادات هذا حسب الحاجة لتخصيص سلوك OpenSSL.
مثال على محتوى ملف الإعداد:
ini
[ req ]
default_bits = 2048
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca
[ req_distinguished_name ]
countryName = اسم الدولة (رمز من حرفين)
countryName_default = US
stateOrProvinceName = اسم الولاية أو المقاطعة (الاسم الكامل)
localityName = اسم المنطقة (مثال: مدينة)
0.organizationName = اسم المؤسسة (مثال: شركة)
organizationalUnitName = اسم وحدة المؤسسة (مثال: قسم)
commonName = الاسم الشائع (مثال: اسم المضيف الكامل)
commonName_max = 64
[ req_attributes ]
challengePassword = كلمة مرور التحدي
challengePassword_min = 4
challengePassword_max = 20
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:true1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
الاستخدام الأساسي
يوفر OpenSSL أدوات سطر أوامر متنوعة لإنجاز مهام التشفير وإدارة الشهادات. إليك بعض الأمثلة الأساسية:
إنشاء المفتاحين الخاص والعام
إنشاء مفتاح RSA خاص
bash
openssl genpkey -algorithm RSA -out private_key.pem1
استخراج المفتاح العام من المفتاح الخاص
bash
openssl rsa -pubout -in private_key.pem -out public_key.pem1
إنشاء طلب توقيع شهادة (CSR)
إنشاء CSR
bash
openssl req -new -key private_key.pem -out request.csr1
شهادة موقعة ذاتياً
إنشاء شهادة موقعة ذاتياً
bash
openssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt1
إدارة الشهادات
عرض معلومات الشهادة
عرض معلومات CSR
bash
openssl req -text -noout -verify -in request.csr1
عرض معلومات الشهادة
bash
openssl x509 -text -noout -in certificate.crt1
تحويل تنسيقات الشهادات
من PEM إلى DER
bash
openssl x509 -outform der -in certificate.pem -out certificate.der1
من DER إلى PEM
bash
openssl x509 -inform der -in certificate.der -out certificate.pem1
التشفير وفك التشفير
التشفير المتماثل
تشفير ملف باستخدام AES
bash
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt1
فك تشفير ملف باستخدام AES
bash
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt1
التشفير غير المتماثل
تشفير ملف باستخدام المفتاح العام
bash
openssl rsautl -encrypt -inkey public_key.pem -pubin -in plaintext.txt -out encrypted.txt1
فك تشفير ملف باستخدام المفتاح الخاص
bash
openssl rsautl -decrypt -inkey private_key.pem -in encrypted.txt -out decrypted.txt1
الأسئلة الشائعة
1. لا يمكن تشغيل أوامر OpenSSL
- الحل: تأكد من إعداد متغيرات البيئة الخاصة بـ ServBay بشكل صحيح. إذا استمرت المشكلة، جرب فتح إعدادات ServBay ومن ثم "أدوات سطر الأوامر" واضبط الإعدادات لكل من
zshوbash، بعدها أعد فتح نافذة الطرفية.
2. الشهادة المولدة غير صالحة
- الحل: تحقق من صحة المعلومات في ملف طلب الشهادة (CSR) وملف الإعدادات. تأكد من ملء جميع الحقول الإلزامية.
3. فشل في التشفير أو فك التشفير
- الحل: تأكد من تطابق المفاتيح والخوارزميات المستخدمة بشكل صحيح. تحقق أيضاً من صحة مسارات ملفات الإدخال والإخراج.
الخلاصة
يعد OpenSSL أداة قوية ومرنة مناسبة لمجموعة متنوعة من حالات استخدام الاتصالات الآمنة وتشفير البيانات. من خلال هذه الوثيقة، يمكنك تعلم كيفية تثبيت OpenSSL وتهيئته واستخدامه لإدارة الشهادات وتشفير البيانات ضمن بيئة ServBay.
