Wie installiert man OpenSSL-Entwicklungsbibliotheken auf Ubuntu?

Veröffentlicht 17. Oktober 2024

Problem: Installation von OpenSSL-Entwicklungsbibliotheken auf Ubuntu

OpenSSL-Entwicklungsbibliotheken werden für viele Anwendungen benötigt, die sichere Kommunikation verwenden. Diese Anleitung hilft Ihnen bei der Installation der OpenSSL-Entwicklungsbibliotheken auf Ihrem Ubuntu-System.

Installation der OpenSSL-Entwicklungsbibliotheken

Verwendung des APT-Paketmanagers

Um die OpenSSL-Entwicklungsbibliotheken auf Ubuntu zu installieren, verwenden Sie diesen Befehl:

sudo apt-get install libssl-dev

Dieser Befehl installiert das Paket libssl-dev, das die Header-Dateien und statischen Bibliotheken für die OpenSSL-Entwicklung enthält. Das libssl-dev-Paket wird für die Kompilierung von Programmen benötigt, die OpenSSL-Funktionen verwenden. Es stellt die Header-Dateien (wie openssl/bio.h, openssl/buffer.h, etc.) zur Verfügung, die in den ursprünglichen Fehlermeldungen fehlten. Durch die Installation dieses Pakets machen Sie diese Header für den Compiler verfügbar, sodass er die erforderlichen OpenSSL-Deklarationen und -Definitionen während des Build-Prozesses finden kann.

Tipp: OpenSSL-Installation überprüfen

Nach der Installation der OpenSSL-Entwicklungsbibliotheken können Sie die Installation überprüfen, indem Sie die Version und den Speicherort der OpenSSL-Header prüfen. Verwenden Sie dazu folgende Befehle:

openssl version
dpkg -L libssl-dev | grep '\.h'

Der erste Befehl zeigt die OpenSSL-Version an, während der zweite die installierten Header-Dateien aus dem libssl-dev-Paket auflistet.

Überprüfung der Installation

Prüfen der installierten Header

Nach der Installation der OpenSSL-Entwicklungsbibliotheken sollten Sie prüfen, ob die Header-Dateien vorhanden und zugänglich sind. Sie können dies tun, indem Sie bestimmte Speicherorte auf Ihrem Ubuntu-System überprüfen.

Um das Vorhandensein von OpenSSL-Header-Dateien zu überprüfen, verwenden Sie diesen Befehl:

ls /usr/include/openssl

Dieser Befehl listet den Inhalt des OpenSSL-Include-Verzeichnisses auf. Sie sollten Dateien wie bio.h, buffer.h, des.h, evp.h, pem.h und rsa.h unter anderen sehen.

Übliche Speicherorte für installierte Entwicklungsbibliotheken auf Ubuntu sind:

  • /usr/include: Dieses Verzeichnis enthält Header-Dateien.
  • /usr/lib: Dieses Verzeichnis enthält Bibliotheksdateien.

Für OpenSSL finden Sie die Bibliotheken in:

/usr/lib/x86_64-linux-gnu

Um zu überprüfen, ob die OpenSSL-Bibliotheken an diesem Ort installiert sind, verwenden Sie:

ls /usr/lib/x86_64-linux-gnu/libssl*

Dieser Befehl zeigt die OpenSSL-Bibliotheksdateien im Standard-Bibliotheksverzeichnis an.

Indem Sie das Vorhandensein dieser Dateien an diesen Orten bestätigen, können Sie sicher sein, dass die OpenSSL-Entwicklungsbibliotheken korrekt auf Ihrem Ubuntu-System installiert sind.

Tipp: OpenSSL-Version prüfen

Um die installierte Version von OpenSSL zu überprüfen, können Sie den folgenden Befehl verwenden:

openssl version -a

Dieser Befehl zeigt detaillierte Informationen über die installierte OpenSSL-Version an, einschließlich des Build-Datums und der Plattform.

Lösung von Kompilierungsproblemen

Aktualisierung der Compiler-Flags

Nach der Installation der OpenSSL-Entwicklungsbibliotheken müssen Sie möglicherweise Ihre Compiler-Flags aktualisieren, um Kompilierungsprobleme zu beheben. Dies umfasst zwei Schritte: Hinzufügen von Include-Pfaden und Verlinken gegen die OpenSSL-Bibliothek.

Um Include-Pfade hinzuzufügen, verwenden Sie die -I-Flag mit Ihrem Compiler-Befehl. Dies teilt dem Compiler mit, wo er die Header-Dateien finden soll. Für OpenSSL fügen Sie hinzu:

-I/usr/include/openssl

Um gegen die OpenSSL-Bibliothek zu verlinken, verwenden Sie die -l-Flag gefolgt vom Bibliotheksnamen. Für OpenSSL fügen Sie hinzu:

-lssl -lcrypto

Hier ist ein Beispiel für einen Kompilierungsbefehl:

g++ -I/usr/include/openssl ihre_datei.cpp -o ihr_programm -lssl -lcrypto

Wenn Sie ein Makefile verwenden, fügen Sie diese Flags zu Ihren CXXFLAGS und LDFLAGS Variablen hinzu:

CXXFLAGS += -I/usr/include/openssl
LDFLAGS += -lssl -lcrypto

Tipp: Umgang mit mehreren Bibliotheksversionen

Wenn Sie mehrere Versionen von OpenSSL auf Ihrem System installiert haben, können Sie die genaue Version angeben, die Sie verwenden möchten, indem Sie die Versionsnummer zum Include-Pfad und Bibliotheksnamen hinzufügen. Zum Beispiel:

g++ -I/usr/include/openssl-1.1 ihre_datei.cpp -o ihr_programm -lssl.1.1 -lcrypto.1.1

Dies stellt sicher, dass Sie die richtige Version von OpenSSL für Ihr Projekt verwenden.

Alternative Lösungen

OpenSSL aus dem Quellcode erstellen

Möglicherweise müssen Sie OpenSSL aus dem Quellcode erstellen, wenn Sie eine bestimmte Version benötigen, die nicht in den Ubuntu-Repositories verfügbar ist, oder wenn Sie den Build mit spezifischen Funktionen anpassen möchten.

Erstellen Sie OpenSSL aus dem Quellcode in diesen Situationen:

  • Sie benötigen eine neuere Version als die in den Ubuntu-Repositories verfügbare
  • Sie möchten bestimmte OpenSSL-Funktionen aktivieren oder deaktivieren
  • Sie arbeiten auf einem System mit eingeschränktem Internetzugang und müssen OpenSSL manuell installieren

Hier ist ein Überblick über den Prozess zum Erstellen von OpenSSL aus dem Quellcode:

  1. Laden Sie den OpenSSL-Quellcode von der offiziellen Website herunter
  2. Extrahieren Sie das heruntergeladene Archiv
  3. Konfigurieren Sie den Build mit Ihren gewünschten Optionen
  4. Kompilieren Sie den Quellcode
  5. Installieren Sie die kompilierten Binärdateien

Grundlegende Befehle zum Erstellen von OpenSSL aus dem Quellcode:

wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz
tar -xzf openssl-1.1.1k.tar.gz
cd openssl-1.1.1k
./config
make
sudo make install

Ersetzen Sie die Versionsnummer durch die, die Sie installieren möchten. Nach der Installation müssen Sie möglicherweise den Bibliotheks-Cache Ihres Systems aktualisieren, indem Sie sudo ldconfig ausführen.

Das Erstellen aus dem Quellcode gibt Ihnen mehr Kontrolle über die OpenSSL-Installation, benötigt aber mehr Zeit und technisches Wissen als die Verwendung des Paketmanagers.

Tipp: OpenSSL-Installation überprüfen

Nachdem Sie OpenSSL aus dem Quellcode erstellt haben, überprüfen Sie die Installation durch Kontrolle der Version:

openssl version

Dieser Befehl sollte die Version von OpenSSL anzeigen, die Sie gerade installiert haben.