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