
مكتبة تشفير للأغراض العامة ومجموعة أدوات SSL/TLS توفر التشفير وفك التشفير وإدارة شهادات X.509 وبروتوكولات الاتصال الآمن.
OpenSSL 1.0.1g 7 Apr 2014
Copyright (c) 1998-2011 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson جميع الحقوق محفوظة.
مشروع OpenSSL هو جهد تعاوني لتطوير مجموعة أدوات قوية، بجودة تجارية، كاملة الميزات، ومفتوحة المصدر، تنفّذ بروتوكولات طبقة المقابس الآمنة (SSL v2/v3) وأمن طبقة النقل (TLS v1) بالإضافة إلى مكتبة تشفير للأغراض العامة كاملة القوة. يُدار المشروع بواسطة مجتمع عالمي من المتطوعين يستخدمون الإنترنت للتواصل والتخطيط وتطوير مجموعة أدوات OpenSSL والوثائق المرتبطة بها.
يستند OpenSSL إلى مكتبة SSLeay الممتازة التي طورها Eric A. Young و Tim J. Hudson. مجموعة أدوات OpenSSL مرخّصة بموجب ترخيص مزدوج (ترخيص OpenSSL بالإضافة إلى ترخيص SSLeay)، وهو ما يعني أساساً أنك حر في الحصول عليها واستخدامها لأغراض تجارية وغير تجارية طالما استوفيت شروط الترخيصين معاً.
تتضمن مجموعة أدوات OpenSSL:
libssl.a: تنفيذ SSLv2 و SSLv3 و TLSv1 والكود المطلوب لدعم كل من SSLv2 و SSLv3 و TLSv1 في خادم وعميل واحد.
libcrypto.a: التشفير العام ومواد X.509 v1/v3 اللازمة لـ SSL/TLS ولكنها ليست جزءاً منطقياً منه فعلياً. وتتضمن إجراءات لما يلي:
الشيفرات
libdes - حزمة تشفير DES (libdes) الخاصة بـ EAY والتي كانت
متداولة على الشبكة لعدة سنوات، ثم أعاد هو ترخيصها
كجزء من SSLeay. وتتضمن 15 'نمطاً/تنويعة' من DES
(إصدارات بمفتاح واحد ومفتاحين وثلاثة مفاتيح من ecb و cbc
و cfb و ofb؛ و pcbc وصيغة أكثر عمومية من cfb و ofb)
بما في ذلك desx في نمط cbc، و crypt(3) سريع، وإجراءات
لقراءة كلمات المرور من لوحة المفاتيح.
تشفير RC4،
تشفير RC2 - 4 أنماط مختلفة: ecb و cbc و cfb و ofb.
تشفير Blowfish - 4 أنماط مختلفة: ecb و cbc و cfb و ofb.
تشفير IDEA - 4 أنماط مختلفة: ecb و cbc و cfb و ofb.
ملخصات الرسائل
خوارزميات ملخص الرسالة MD5 و MD2، بتنفيذات سريعة،
خوارزميات ملخص الرسالة SHA (SHA-0) و SHA-1،
ملخص الرسالة MDC2. تجزئة مبنية على DES تحظى بشعبية على البطاقات الذكية.
المفاتيح العامة
تشفير/فك تشفير/توليد RSA.
لا يوجد حد لعدد البتات.
تشفير/فك تشفير/توليد DSA.
لا يوجد حد لعدد البتات.
تبادل مفاتيح/توليد مفاتيح Diffie-Hellman.
لا يوجد حد لعدد البتات.
شهادات X.509v3
ترميز/فك ترميز X509 إلى/من ASN1 الثنائي وترميز PEM
القائم على ASCII-ثنائي يدعم التشفير بمفتاح خاص. برنامج
لتوليد طلبات شهادات RSA و DSA ولتوليد شهادات RSA و DSA.
الأنظمة
إجراءات المغلف الرقمي العادية وترميز base64. وصول بمستوى
أعلى إلى الشيفرات وملخصات الرسائل بالاسم. يمكن تحميل شيفرات
جديدة في وقت التشغيل. نظام BIO للإدخال/الإخراج وهو تجريد
إدخال/إخراج بسيط غير محجوب. الطرق المدعومة حالياً هي واصفات
الملفات، والمقابس، وقبول المقابس، واتصال المقابس، ومخزن الذاكرة،
والتخزين المؤقت، وعميل/خادم SSL، ومؤشر الملف، والتشفير، وملخص
الرسالة، واختبار عدم الحجب والعدم.
هياكل البيانات
نظام تجزئة متنامٍ ديناميكياً
مكدس بسيط.
محمّل إعدادات يستخدم صيغة مشابهة لملفات MS .ini.
openssl: أداة سطر أوامر يمكن استخدامها من أجل: إنشاء معاملات مفاتيح RSA و DH و DSA إنشاء شهادات X.509 وطلبات توقيع الشهادات (CSRs) وقوائم إلغاء الشهادات (CRLs) حساب ملخصات الرسائل التشفير وفك التشفير باستخدام الشيفرات اختبارات عميل وخادم SSL/TLS معالجة البريد الموقّع أو المشفّر S/MIME
تمتلك شركات مختلفة براءات اختراع مختلفة لخوارزميات مختلفة في أماكن مختلفة حول العالم. أنت مسؤول عن ضمان أن استخدامك لأي خوارزميات قانوني من خلال التحقق من وجود أي براءات اختراع في بلدك. يحتوي الملف على بعض براءات الاختراع التي نعرف عنها أو يُشاع أنها موجودة. هذه ليست قائمة نهائية.
تمتلك RSA Security براءات اختراع برمجية على خوارزمية RC5. إذا كنت تنوي استخدام هذه الشيفرة، فيجب عليك الاتصال بـ RSA Security لمعرفة شروط الترخيص. صفحة الويب الخاصة بهم هي http://www.rsasecurity.com/.
RC4 هي علامة تجارية لـ RSA Security، لذا ربما ينبغي استخدام هذه التسمية فقط بإذن من RSA Security.
خوارزمية IDEA محمية ببراءة اختراع من قبل Ascom في النمسا وفرنسا وألمانيا وإيطاليا واليابان وهولندا وإسبانيا والسويد وسويسرا والمملكة المتحدة والولايات المتحدة الأمريكية. يجب الاتصال بهم إذا كان سيتم استخدام تلك الخوارزمية؛ صفحة الويب الخاصة بهم هي http://www.ascom.ch/.
تمتلك NTT و Mitsubishi براءات اختراع وبراءات اختراع قيد الانتظار على خوارزمية Camellia، لكنهما تسمحان بالاستخدام مجاناً دون اشتراط اتفاقية ترخيص صريحة: http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html
لتثبيت هذه الحزمة على أحد مشتقات Unix، اقرأ ملف INSTALL. بالنسبة لمنصة Win32، اقرأ ملف INSTALL.W32. بالنسبة لأنظمة OpenVMS، اقرأ INSTALL.VMS.
اقرأ الوثائق في دليل doc/. إنها تقريبية إلى حد ما، لكنها تسرد الدوال؛ ستحتاج غالباً إلى الاطلاع على الكود لتعرف كيفية استخدامها. انظر إلى البرامج المثال.
بالنسبة لبعض المنصات، هناك بعض المشاكل المعروفة التي قد تؤثر على المستخدم أو مؤلف التطبيق. نحاول جمعها في doc/PROBLEMS، مع أفكار حالية حول كيفية حلها في مستقبل OpenSSL.
راجع موقع OpenSSL على الويب www.openssl.org للحصول على تفاصيل حول كيفية الحصول على دعم فني تجاري.
إذا كان لديك أي مشاكل مع OpenSSL فيرجى اتخاذ الخطوات التالية أولاً:
- قم بتنزيل اللقطة الحالية من ftp://ftp.openssl.org/snapshot/
لمعرفة ما إذا كانت المشكلة قد عولجت بالفعل
- قم بإزالة إصدارات ASM من المكتبات
- قم بإزالة علامات تحسين المترجم
إذا كنت ترغب في الإبلاغ عن خطأ، فيرجى تضمين المعلومات التالية في أي تقرير خطأ:
- على أنظمة Unix:
تقرير الاختبار الذاتي الذي يولده 'make report'
- على الأنظمة الأخرى:
إصدار OpenSSL: مخرجات 'openssl version -a'
اسم نظام التشغيل والإصدار ومنصة الأجهزة
تفاصيل المترجم (الاسم والإصدار)
- تفاصيل التطبيق (الاسم والإصدار)
- وصف المشكلة (الخطوات التي ستعيد إنتاج المشكلة، إذا كانت معروفة)
- تتبع المكدس (إذا كان التطبيق يفرغ النواة)
أبلغ عن الخطأ إلى مشروع OpenSSL عبر متتبع الطلبات (http://www.openssl.org/support/rt.html) عن طريق البريد إلى:
[email protected]
لاحظ أنه لا ينبغي استخدام متتبع الطلبات للمساعدة العامة أو استعلامات الدعم. مجرد أن شيئاً ما لا يعمل بالطريقة التي تتوقعها لا يعني بالضرورة أنه خطأ في OpenSSL.
لاحظ أن البريد المرسل إلى [email protected] يُسجل في قاعدة بيانات متتبع الطلبات المقروءة علناً ويُعاد توجيهه إلى قائمة بريدية عامة. يمكن إرسال البريد السري إلى [email protected] (مفتاح PGP متاح من خوادم المفاتيح).
يتم تنسيق التطوير على القائمة البريدية openssl-dev (انظر http://www.openssl.org للحصول على معلومات حول الاشتراك). إذا كنت ترغب في تقديم تصحيح، أرسله إلى [email protected] مع وضع السلسلة "[PATCH]" في الموضوع. يرجى التأكد من تضمين شرح نصي لما يفعله التصحيح.
إذا لم تكن متأكداً مما إذا كانت ميزة ما ستكون مفيدة لمجتمع OpenSSL العام، فيرجى مناقشتها على القائمة البريدية openssl-dev أولاً. قد يكون شخص ما يعمل بالفعل على نفس الشيء أو قد يكون هناك سبب وجيه لعدم تنفيذ تلك الميزة.
يجب أن تكون التصحيحات محدثة قدر الإمكان، ويفضل أن تكون نسبة إلى Git الحالي أو آخر لقطة. يجب أن تتبع نمط الترميز الخاص بـ OpenSSL ويتم تجميعها دون تحذيرات. يمكن استخدام بعض أهداف مطوري الفريق الأساسي لأغراض الاختبار (debug-steve64 و debug-geoff وما إلى ذلك). يتم تجميع OpenSSL على العديد من المنصات المتنوعة: حاول التأكد من أنك تستخدم فقط الميزات المحمولة.
ملاحظة: لأسباب قانونية، لا يمكن قبول المساهمات من الولايات المتحدة إلا إذا تم إرسال إشعار TSU ونسخة من التصحيح إلى [email protected] (المعروف سابقاً باسم BXA) مع نسخة إلى منسق طلبات التشفير ENC؛ يرجى أخذ بعض الوقت للاطلاع على http://www.bis.doc.gov/Encryption/PubAvailEncSourceCodeNofify.html [كذا] و http://w3.access.gpo.gov/bis/ear/pdf/740.pdf (القسم 740.13(e) من EAR) للتفاصيل. إذا كان "كود مصدر التشفير الخاص بك أكبر من أن يصلح كمرفق بريد إلكتروني"، فسيسعدهم استلامه بالفاكس بدلاً من ذلك؛ نأمل أن تكون لديك خطة اتصال بعيد رخيصة.