c++ - كيف أقوم بتثبيت مكتبات OpenSSL على Ubuntu؟




installation (4)

أحاول بناء بعض الأكواد على Ubuntu 10.04 LTS الذي يستخدم OpenSSL 1.0.0. عند تشغيل make ، تستدعي g ++ مع خيار "-lssl". المصدر يشمل:

#include <openssl/bio.h>
#include <openssl/buffer.h>
#include <openssl/des.h>
#include <openssl/evp.h>
#include <openssl/pem.h>
#include <openssl/rsa.h>

ركضت:

$ sudo apt-get install openssl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
openssl is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

ولكن أعتقد أن حزمة openssl لا تتضمن المكتبة. تظهر لي هذه الأخطاء:

foo.cpp:21:25: error: openssl/bio.h: No such file or directory
foo.cpp:22:28: error: openssl/buffer.h: No such file or directory
foo.cpp:23:25: error: openssl/des.h: No such file or directory
foo.cpp:24:25: error: openssl/evp.h: No such file or directory
foo.cpp:25:25: error: openssl/pem.h: No such file or directory
foo.cpp:26:25: error: openssl/rsa.h: No such file or directory

كيف أقوم بتثبيت مكتبة OpenSSL C ++ على نظام Ubuntu 10.04 LTS؟

فعلت man g++ و (تحت عنوان "خيارات لربط") للخيار -l تقول: "يبحث رابط قائمة قياسية من الدلائل للمكتبة ..." و "الأدلة بحثت تتضمن عدة أدلة النظام القياسية .. "ما هي تلك الدلائل النظام القياسي؟


كيف لي أن أحسب ذلك لنفسي (بخلاف طرح هذا السؤال هنا)؟ يمكن لي أن أقول apt-get إلى قائمة جميع الحزم ، و grep for ssl؟ أو هل أحتاج إلى معرفة اصطلاح التسمية "lib * -dev"؟

إذا كنت تقوم بالربط مع -lfoo ، فمن المرجح أن المكتبة libfoo.so . ربما تكون المكتبة نفسها جزءًا من حزمة libfoo ، والرؤوس موجودة في حزمة libfoo-dev كما اكتشفت.

يستخدم بعض الأشخاص التطبيق "synaptic" gui ( sudo synaptic ) إلى (تحديد موقع حزم التثبيت) ، لكنني أفضل استخدام سطر الأوامر. الشيء الوحيد الذي يجعل من السهل العثور على الحزمة المناسبة من سطر الأوامر هو حقيقة أن apt-get تدعم إكمال bash.

جرب كتابة sudo apt-get install libssl ثم اضغط على "tab" لمشاهدة قائمة بأسماء الحزم المطابقة (والتي يمكن أن تساعد عندما تحتاج إلى تحديد الإصدار الصحيح لحزمة تحتوي على إصدارات متعددة أو تنويعات أخرى متوفرة).

إن إكمال Bash مفيد جدًا ... على سبيل المثال ، يمكنك أيضًا الحصول على قائمة بالأوامر التي تدعمها "apt-get" عن طريق كتابة sudo apt-get ثم الضغط على "tab".


تريد تثبيت حزمة التطوير ، وهي libssl-dev:

sudo apt-get install libssl-dev

طريقة أخرى لتثبيت مكتبة openssl من التعليمات البرمجية المصدر على أوبونتو ، يتبع الخطوات أدناه ، هنا WORKDIR هو دليل العمل الخاص بك:

  1. sudo apt-get install pkg-config
  2. مؤتمر نزع السلاح WORKDIR
  3. بوابة استنساخ https://github.com/openssl/openssl.git
  4. مؤتمر نزع السلاح يفتح
  5. ./config
  6. يصنع
  7. sudo جعل تثبيت
  8. افتح الملف /etc/ld.so.conf ، أضف سطرًا جديدًا: "/ usr / local / lib" في EOF
  9. sudo ldconfig

لقد وجدت حلاً مفصلاً هنا: تثبيت OpenSSL يدويًا على نظام التشغيل Linux

من منشور المدونة ...:

خطوات التنزيل والترجمة والتثبيت هي كالتالي (أقوم بتثبيت الإصدار 1.0.1g أدناه ؛ الرجاء استبدال "1.0.1g" برقم الإصدار الخاص بك):

الخطوة - 1: تنزيل OpenSSL:

قم بتشغيل الأمر على النحو التالي:

$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz

قم أيضًا بتنزيل تجزئة MD5 للتحقق من سلامة الملف الذي تم تنزيله لغرض varifacation فقط. في نفس المجلد الذي قمت بتنزيل ملف OpenSSL من موقع الويب:

$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz.md5
$ md5sum openssl-1.0.1g.tar.gz
$ cat openssl-1.0.1g.tar.gz.md5

الخطوة - 2: استخراج الملفات من الحزمة التي تم تنزيلها:

$ tar -xvzf openssl-1.0.1g.tar.gz

الآن ، أدخل الدليل حيث يتم استخراج الحزمة مثل هنا openssl-1.0.1g

$ cd openssl-1.0.1g

الخطوة - 3: تكوين OpenSSL

قم بتشغيل الأمر أدناه مع شرط اختياري لتعيين البادئة والدليل حيث تريد نسخ الملفات والمجلدات.

$ ./config –prefix=/usr/local/openssl –openssldir=/usr/local/openssl

يمكنك استبدال "/ usr / local / openssl" بمسار الدليل حيث تريد نسخ الملفات والمجلدات. ولكن تأكد من خلال القيام بهذه الخطوات التحقق من وجود أي رسالة خطأ على المحطة.

الخطوة - 4: ترجمة OpenSSL

لتجميع openssl ، ستحتاج إلى تشغيل أمر 2: make ، make install as below:

$ make

ملاحظة: تحقق من وجود أي رسالة خطأ لغرض التحقق.

الخطوة - 5: تثبيت OpenSSL:

$ sudo make install

أو بدون سودو ،

$ make install

هذا هو. تم تثبيت OpenSSL بنجاح. يمكنك تشغيل أمر الإصدار لمعرفة ما إذا كان يعمل أم لا على النحو التالي:

$ /usr/local/openssl/bin/openssl version

OpenSSL 1.0.1g 7 Apr 2014





openssl