it-swarm.com.de

Wie installiere ich die OpenSSL-Bibliotheken unter Ubuntu?

Ich versuche, etwas Code auf Ubuntu 10.04 LTS zu erstellen, der OpenSSL 1.0.0 verwendet. Beim Ausführen von make wird g ++ mit der Option "-lssl" aufgerufen. Die Quelle beinhaltet:

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

Ich rannte:

$ 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.

Aber ich denke, das openssl-Paket enthält die Bibliothek nicht. Ich bekomme diese Fehler bei make:

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

Wie installiere ich die OpenSSL C++ - Bibliothek unter Ubuntu 10.04 LTS?

Ich habe ein man g++ und (unter "Options for Linking") für die Option -l angegeben: "Der Linker durchsucht eine Standardliste der Verzeichnisse nach der Bibliothek ..." und "Die durchsuchten Verzeichnisse enthalten mehrere Standardsystemverzeichnisse ... "Was sind diese Standardsystemverzeichnisse?"

185
Daryl Spitzer

Sie möchten das Entwicklungspaket installieren, das libssl-dev ist:

Sudo apt-get install libssl-dev
399
Niki Yoshiuchi

apt-get install libssl-dev

22
Yann Ramin

Wie hätte ich das für mich selbst herausfinden können (außer diese Frage hier zu stellen)? Kann ich irgendwie apt-get anweisen, alle Pakete aufzulisten und nach ssl zu suchen? Oder muss ich die Namenskonvention "lib * -dev" kennen?

Wenn Sie mit -lfoo verlinken, ist die Bibliothek wahrscheinlich libfoo.so. Die Bibliothek selbst ist wahrscheinlich Teil des Pakets libfoo, und die Header befinden sich, wie Sie festgestellt haben, im Paket libfoo-dev.

Einige Leute benutzen die GUI-App "synaptic" (Sudo synaptic), um Pakete zu lokalisieren und zu installieren, aber ich bevorzuge die Befehlszeile. Eine Sache, die es einfacher macht, das richtige Paket über die Befehlszeile zu finden, ist die Tatsache, dass apt-get die Bash-Vervollständigung unterstützt.

Versuchen Sie, Sudo apt-get install libssl einzugeben, und drücken Sie dann tab um eine Liste der übereinstimmenden Paketnamen anzuzeigen (dies kann hilfreich sein, wenn Sie die richtige Version eines Pakets auswählen müssen, für das mehrere Versionen oder andere Variationen verfügbar sind).

Die Bash-Vervollständigung ist tatsächlich sehr nützlich. Sie können beispielsweise auch eine Liste von Befehlen abrufen, die apt-get unterstützt, indem Sie Sudo apt-get eingeben und dann drücken tab.

13
Steve Lemke

Eine andere Möglichkeit, die openssl-Bibliothek über den Quellcode unter Ubuntu zu installieren, führt die folgenden Schritte aus. Hier ist WORKDIR Ihr Arbeitsverzeichnis:

Sudo apt-get install pkg-config
cd WORKDIR
git clone https://github.com/openssl/openssl.git
cd openssl
./config
make
Sudo make install
# Open file /etc/ld.so.conf, add a new line: "/usr/local/lib" at EOF
Sudo ldconfig
4
B.H Xie

Ich habe hier eine ausführliche Lösung gefunden: OpenSSL manuell unter Linux installieren

Aus dem Blogbeitrag ...:

Die Schritte zum Herunterladen, Kompilieren und Installieren sind wie folgt (Ich installiere Version 1.0.1g unten; ersetzen Sie "1.0.1g" durch Ihre Versionsnummer):

Schritt - 1: OpenSSL herunterladen:

Führen Sie den Befehl wie folgt aus:

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

Laden Sie auch den MD5-Hash herunter, um die Integrität der heruntergeladenen Datei nur zum Zwecke der Variation zu überprüfen. In demselben Ordner, in dem Sie die OpenSSL-Datei von der Website heruntergeladen haben:

$ 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

Schritt - 2: Dateien aus dem heruntergeladenen Paket extrahieren:

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

Geben Sie nun das Verzeichnis ein, in das das Paket extrahiert wird, wie hier: openssl-1.0.1g

$ cd openssl-1.0.1g

Schritt - 3: Konfiguration von OpenSSL

Führen Sie den folgenden Befehl mit optionaler Bedingung aus, um das Präfix und das Verzeichnis festzulegen, in das Sie Dateien und Ordner kopieren möchten.

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

Sie können „/ usr/local/openssl“ durch den Verzeichnispfad ersetzen, in den Sie die Dateien und Ordner kopieren möchten. Stellen Sie jedoch sicher, dass Sie während dieser Schritte nach Fehlernachrichten am Terminal suchen.

Schritt 4: OpenSSL kompilieren

Um openssl zu kompilieren, müssen Sie den Befehl 2 ausführen: make, make install wie folgt:

$ make

Hinweis: Prüfen Sie, ob eine Fehlermeldung angezeigt wird.

Schritt -5: OpenSSL installieren:

$ Sudo make install

Oder ohne Sudo

$ make install

Das ist es. OpenSSL wurde erfolgreich installiert. Sie können den Versionsbefehl ausführen, um zu prüfen, ob er wie folgt funktioniert oder nicht:

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

OpenSSL 1.0.1g 7 Apr 2014

3
Mann

Sie wollen das openssl-devel-Paket . Zumindest denke ich, dass es -devel auf Ubuntu ist. Könnte -dev sein. Es ist einer der beiden.

2
jonescb