
مجموعة أدوات مفتوحة المصدر متكاملة الميزات تنفذ بروتوكولات SSL/TLS ومكتبة تشفير للأغراض العامة مع دعم لخوارزميات التشفير، والملخصات، وخوارزميات المفاتيح العامة، وإدارة شهادات X.509.
OpenSSL 1.0.1g 7 أبريل 2014
حقوق الطبع والنشر (c) 1998-2011 مشروع OpenSSL حقوق الطبع والنشر (c) 1995-1998 إريك أ. يونغ، تيم ج. هدسون جميع الحقوق محفوظة.
مشروع OpenSSL هو جهد تعاوني لتطوير مجموعة أدوات قوية، تجارية، كاملة الميزات ومفتوحة المصدر تنفذ بروتوكولات طبقة المقابس الآمنة (SSL v2/v3) وطبقة نقل الأمان (TLS v1) بالإضافة إلى مكتبة تشفير للأغراض العامة كاملة القوة. يُدار المشروع من قبل مجتمع عالمي من المتطوعين الذين يستخدمون الإنترنت للتواصل والتخطيط وتطوير مجموعة أدوات OpenSSL ووثائقها ذات الصلة.
يعتمد OpenSSL على مكتبة SSLeay الممتازة التي طورها إريك أ. يونغ وتيم ج. هدسون. مجموعة أدوات OpenSSL مرخصة بموجب ترخيص مزدوج (ترخيص OpenSSL بالإضافة إلى ترخيص SSLeay)، مما يعني بشكل أساسي أنك حر في الحصول عليها واستخدامها للأغراض التجارية وغير التجارية طالما أنك تستوفي شروط كلا الترخيصين.
تشمل مجموعة أدوات OpenSSL:
libssl.a: تنفيذ SSLv2 و SSLv3 و TLSv1 والرمز المطلوب لدعم كلا من SSLv2 و SSLv3 و TLSv1 في الخادم والعميل الواحد.
libcrypto.a: محتوى التشفير العام و X.509 v1/v3 المطلوب بواسطة SSL/TLS ولكن ليس جزءًا منطقيًا منه. يتضمن إجراءات لما يلي:
التشفيرات
libdes - حزمة تشفير DES من EAY's libdes التي كانت متداولة على الإنترنت لبضع سنوات، ثم أعاد ترخيصها كجزء من SSLeay. تتضمن 15 'نمط/تنويع' من DES (إصدارات 1 و 2 و 3 مفاتيح من 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.
المجاميع (Digests)
خوارزميات ملخص الرسالة MD5 و MD2، وتنفيذات سريعة،
خوارزميات ملخص الرسالة SHA (SHA-0) و SHA-1،
ملخص الرسالة MDC2. تجزئة تعتمد على DES شائعة في البطاقات الذكية.
المفتاح العام
تشفير/فك تشفير/توليد RSA.
لا يوجد حد على عدد البتات.
تشفير/فك تشفير/توليد DSA.
لا يوجد حد على عدد البتات.
تبادل المفاتيح/توليد المفاتيح Diffie-Hellman.
لا يوجد حد على عدد البتات.
شهادات X.509v3
ترميز/فك ترميز X509 من/إلى ASN1 الثنائي وترميز ثنائي-نصي يعتمد على PEM
يدعم التشفير بمفتاح خاص. برنامج لتوليد طلبات شهادات RSA و DSA وتوليد شهادات RSA و DSA.
الأنظمة
إجراءات المغلف الرقمي العادية وترميز base64. وصول عالي المستوى إلى التشفيرات والمجاميع بالاسم. يمكن تحميل تشفيرات جديدة في وقت التشغيل. نظام BIO للإدخال/الإخراج وهو تجريد بسيط غير محظور للإدخال/الإخراج. الطرق المدعومة حالياً هي واصفات الملفات، والمآخذ (sockets)، وقبول المآخذ، واتصال المآخذ، ومخزن الذاكرة المؤقتة، والتخزين المؤقت، وعميل/خادم 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) عن طريق البريد إلى:
لاحظ أنه لا ينبغي استخدام متتبع الطلبات للمساعدة العامة أو استفسارات الدعم. مجرد أن شيئًا ما لا يعمل بالطريقة التي تتوقعها لا يعني بالضرورة أنه خطأ في 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 [sic] و http://w3.access.gpo.gov/bis/ear/pdf/740.pdf (EAR القسم 740.13(e)) للحصول على التفاصيل. إذا كان "رمز التشفير المصدر الخاص بك كبيرًا جدًا بحيث لا يمكن إرساله كمرفق بالبريد الإلكتروني"، فإنهم سعداء باستلامه عبر الفاكس بدلاً من ذلك؛ نأمل أن يكون لديك خطة مسافات طويلة رخيصة.
التنسيق المفضل لدينا للتغييرات هو إخراج "diff -u". يمكنك إنشاؤه على النحو التالي: