Libressl ist eine Gabel von OpenSSL 1.0.1G, die vom OpenBSD -Projekt entwickelt wurde. Unser Ziel ist es, die Codebasis zu modernisieren, die Sicherheit zu verbessern und bewährte Entwicklungsprozesse von OpenBSD anzuwenden.
Libressl liefert einen Großteil der OpenSSL 1.1 -API. Die OpenSSL 3 -API wird derzeit nicht unterstützt. Inkompatibilitäten zwischen den Projekten existieren und sind unvermeidbar, da sich beide mit unterschiedlichen Zielen und Prioritäten entwickeln. Wichtige Inkompatibilitäten werden nach Möglichkeit angesprochen und solange sie den Zielen von Libressl von Einfachheit, Sicherheit und geistiger Gesundheit nicht allzu schädlich sind. Wir fügen keine neuen Funktionen, Chiffren und APIs ohne festen Grund hinzu und erfordern, dass neuer Code sauber und von hoher Qualität ist.
Libressl ist nicht mit einer Freisetzung von OpenSSL oder notwendigerweise früheren Veröffentlichungen von Libressl kompatibel. Sie müssen Ihre Programme in Libressl neu verknüpfen, um sie zu verwenden, wie es sich zwischen den wichtigsten Versionen von OpenSSL bewegen. Die installierten Bibliotheksversionsnummern von Libressl werden erhöht, um ABI- und API -Änderungen zu berücksichtigen.
Während der auf OpenBSD verfügbaren APIs in erster Linie entwickelt und nutzt, versucht das tragbare Libressl-Projekt, Arbeitsalternativen für andere Betriebssysteme bereitzustellen, und unterstützt nach Möglichkeit bei der Verbesserung der OS-nativen Implementierungen.
Zum Zeitpunkt dieses Schreibens ist Libressl dafür bekannt, an zu arbeiten und zu arbeiten:
Libressl unterstützt auch die folgenden Windows -Umgebungen:
Offizielle Veröffentlichungstarballs sind in Ihrem freundlichen Nachbarschaft OpenBSD Mirror in Directory Libressl erhältlich, obwohl wir vorschlagen, einen Spiegel zu verwenden.
Das tragbare Build -Framework von Libressl spiegelt sich auch auf GitHub wider.
Bitte melden Sie Fehler entweder an die öffentliche Mailingliste [email protected] oder in den GitHub -Ausgaberleiter Tracker
Schwere Schwachstellen oder Fehler, die eine Koordination mit OpenSSL erfordern, können an das Kernteam unter [email protected] gesendet werden.
Wenn Sie diese Quelle mit Git überprüft oder einen Quell -Tarball von GitHub heruntergeladen haben, befolgen Sie diese ersten Schritte, um den Quellbaum für das Gebäude vorzubereiten. Hinweis: Ihr Build fällt fehl, wenn Sie diese Anweisungen nicht befolgen! Wenn Sie diese Anweisungen nicht befolgen können oder diese Voraussetzungen nicht erfüllen können, laden Sie stattdessen eine offizielle Veröffentlichungsverteilung von https://ftp.openbsd.org/pub/openbsd/libressl/ herunter. Die Verwendung offizieller Veröffentlichungen wird stark empfohlen, wenn Sie kein Entwickler sind.
./autogen.sh um den Quellbaum für das Gebäude vorzubereiten. Wenn Sie den Quellbaum vorbereitet haben, führen Sie diese Befehle aus, um zu erstellen und zu installieren:
./configure # see ./configure --help for configuration options
make check # runs builtin unit tests
make install # set DESTDIR= to install to an alternate location Alternativ ist es ./dist.sh , einen Tarball vorzubereiten.
Wenn Sie den Quellbaum vorbereitet haben, führen Sie diese Befehle aus, um zu erstellen und zu installieren:
mkdir build
cd build
cmake ..
make
make testFür schnellere Builds können Sie Ninja verwenden:
mkdir build-ninja
cd build-ninja
cmake -G " Ninja " ..
ninja
ninja testOder ein anderes unterstütztes Build -System wie Visual Studio:
mkdir build-vs2022
cd build-vs2022
cmake -G " Visual Studio 17 2022 " ..| Optionsname | Standard | Beschreibung |
|---|---|---|
LIBRESSL_SKIP_INSTALL | OFF | Ermöglicht das Überspringen von Install () Regeln. Kann aus der Befehlszeile mit verwendet werden-DLIBRESSL_SKIP_INSTALL=ON |
LIBRESSL_APPS | ON | Ermöglicht das Überspringen von Anwendungsbauten. Apps sind erforderlich, um Tests auszuführen |
LIBRESSL_TESTS | ON | Ermöglicht das Überspringen von Tests. Tests sind nur in statischen Builds erhältlich |
BUILD_SHARED_LIBS | OFF | CMAKE -Option zum Aufbau von gemeinsamen Bibliotheken. |
ENABLE_ASM | ON | baut montage optimierte Regeln. |
ENABLE_EXTRATESTS | OFF | Aktivieren Sie zusätzliche Tests, die auf einigen Plattformen möglicherweise unzuverlässig sein können |
ENABLE_NC | OFF | Aktivieren Sie die Installation von TLS-fähiger NC (1) |
OPENSSLDIR | Leer | Setzen Sie das Standard -OpenSSL -Verzeichnis. Kann aus der Befehlszeile mit verwendet werden-DOPENSSLDIR=<dirname> |
Setzen Sie die Umgebungsvariable der UNIX_STD auf 2003 bevor Sie configure ausführen, um mit dem HP C/AC ++ - Compiler zu erstellen. Weitere Informationen finden Sie auf der Seite "Standards (5)".
export UNIX_STD=2003
./configure
makeLibressl basiert auf relativ jüngsten Versionen von Mingw-w64, um nicht mit dem ursprünglichen Mingw.org-Projekt verwechselt zu werden. Mingw-w64 3.2 oder später sollte funktionieren. Weitere Informationen finden Sie unter Readme.mingw.md.
Stellen Sie bei der Konfiguration von Libressl für die Verwendung mit EMSCIPTEN sicher, dass emcmake auf Ihren Befehl cmake configuration vorbereitet wird. Nach der Konfiguration können Sie mit Ihren üblichen cmake -Befehlen fortfahren. Zum Beispiel:
emcmake cmake . -Bbuild
cmake --build build --config Release
ctest --test-dir build -C Release --output-on-failure Erstellen Sie einen neuen Ordner in Ihrem Projektroot (in dem sich Ihre Hauptdatei CMakeLists.txt befindet) CMAKE. Kopieren Sie die FindLibreSSL.cmake -Datei in diesen Ordner und fügen Sie die folgende Zeile zu Ihren Haupt CMakeLists.txt hinzu.txt:
set ( CMAKE_MODULE_PATH " ${CMAKE_CURRENT_SOURCE_DIR} /CMake; ${CMAKE_MODULE_PATH} " ) Nach Ihrer add_executable oder add_library line in Ihren CMakeLists.txt -Datei fügen Sie Folgendes hinzu:
find_package (LibreSSL REQUIRED) Es wird CMAKE aufweisen, Libressl zu finden, und wenn Sie gefunden werden, können Sie die folgenden 3 Schnittstellen in Ihrer Datei CMakeLists.txt verwenden:
Wenn Sie beispielsweise die Libressl TLS -Bibliothek in Ihrem Testprogramm verwenden möchten, geben Sie sie so ein (SSL und Crypto werden von TLS benötigt und auch automatisch enthalten):
target_link_libraries ( test LibreSSL::TLS)Vollständiges Beispiel:
cmake_minimum_required ( VERSION 3.10.0)
set ( CMAKE_MODULE_PATH " ${CMAKE_CURRENT_SOURCE_DIR} /CMake; ${CMAKE_MODULE_PATH} " )
project ( test )
add_executable ( test Main.cpp)
find_package (LibreSSL REQUIRED)
target_link_libraries ( test LibreSSL::TLS) Befolgen Sie die Anleitung in den obigen Abschnitten, um Libressl mithilfe von sudo make install zu kompilieren, und installiert Libressl in /usr/local/ order und wird automatisch von Find_package gefunden. Wenn Ihr System es an einem anderen Ort installiert oder Sie sie selbst an einem anderen Ort platziert haben, können Sie die CMAKE -Variable LIBRESSL_ROOT_DIR auf den richtigen Pfad einstellen, um CMake zu helfen, die Bibliothek zu finden.
Das Platzieren der Bibliotheksdateien in C:/Program Files/LibreSSL/lib und die Einfügen von Dateien in C:/Program Files/LibreSSL/include sollte CMake automatisch finden. Es wird jedoch empfohlen, dass Sie CMake-Gui verwenden, um die Pfade festzulegen. Es ist bequemer, da Sie die Dateien in einem beliebigen Ordner haben können.