وثيقة استخدام 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:true
1
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.pem
1
استخراج المفتاح العام من المفتاح الخاص
bash
openssl rsa -pubout -in private_key.pem -out public_key.pem
1
إنشاء طلب توقيع شهادة (CSR)
إنشاء CSR
bash
openssl req -new -key private_key.pem -out request.csr
1
شهادة موقعة ذاتياً
إنشاء شهادة موقعة ذاتياً
bash
openssl req -x509 -days 365 -key private_key.pem -in request.csr -out certificate.crt
1
إدارة الشهادات
عرض معلومات الشهادة
عرض معلومات CSR
bash
openssl req -text -noout -verify -in request.csr
1
عرض معلومات الشهادة
bash
openssl x509 -text -noout -in certificate.crt
1
تحويل تنسيقات الشهادات
من PEM إلى DER
bash
openssl x509 -outform der -in certificate.pem -out certificate.der
1
من DER إلى PEM
bash
openssl x509 -inform der -in certificate.der -out certificate.pem
1
التشفير وفك التشفير
التشفير المتماثل
تشفير ملف باستخدام AES
bash
openssl enc -aes-256-cbc -salt -in plaintext.txt -out encrypted.txt
1
فك تشفير ملف باستخدام AES
bash
openssl enc -d -aes-256-cbc -in encrypted.txt -out decrypted.txt
1
التشفير غير المتماثل
تشفير ملف باستخدام المفتاح العام
bash
openssl rsautl -encrypt -inkey public_key.pem -pubin -in plaintext.txt -out encrypted.txt
1
فك تشفير ملف باستخدام المفتاح الخاص
bash
openssl rsautl -decrypt -inkey private_key.pem -in encrypted.txt -out decrypted.txt
1
الأسئلة الشائعة
1. لا يمكن تشغيل أوامر OpenSSL
- الحل: تأكد من إعداد متغيرات البيئة الخاصة بـ ServBay بشكل صحيح. إذا استمرت المشكلة، جرب فتح إعدادات ServBay ومن ثم "أدوات سطر الأوامر" واضبط الإعدادات لكل من
zsh
وbash
، بعدها أعد فتح نافذة الطرفية.
2. الشهادة المولدة غير صالحة
- الحل: تحقق من صحة المعلومات في ملف طلب الشهادة (CSR) وملف الإعدادات. تأكد من ملء جميع الحقول الإلزامية.
3. فشل في التشفير أو فك التشفير
- الحل: تأكد من تطابق المفاتيح والخوارزميات المستخدمة بشكل صحيح. تحقق أيضاً من صحة مسارات ملفات الإدخال والإخراج.
الخلاصة
يعد OpenSSL أداة قوية ومرنة مناسبة لمجموعة متنوعة من حالات استخدام الاتصالات الآمنة وتشفير البيانات. من خلال هذه الوثيقة، يمكنك تعلم كيفية تثبيت OpenSSL وتهيئته واستخدامه لإدارة الشهادات وتشفير البيانات ضمن بيئة ServBay.