Libressl是OpenBSD項目開發的OpenSSL 1.0.1g的叉子。我們的目標是使代碼庫現代化,提高安全性並應用OpenBSD的最佳實踐開發過程。
libressl提供了大部分OpenSSL 1.1 API。目前不支持OpenSSL 3 API。這些項目之間存在不兼容,並且是不可避免的,因為兩者都以不同的目標和優先級發展。如果可能的話,重要的不兼容將被解決,只要它們對Libressl的簡單,安全和理智的目標不利。我們不會沒有充分的理由添加新功能,密碼和API,並且要求新的代碼乾淨且高質量。
libressl與任何釋放openssl或必然是libressl發行的任何版本都不兼容。您需要將程序重新鏈接到libressl才能使用它,就像在主要版本OpenSSL之間移動一樣。 Libressl的已安裝庫版本編號會增加以說明ABI和API更改。
雖然主要開發並利用OpenBSD上可用的API,但Libressl便攜式項目試圖為其他操作系統提供工作替代方案,並在可能的情況下協助改進OS-NATICATION實現。
在撰寫本文時,眾所周知,Libressl可以建立和工作:
libressl還支持以下Windows環境:
儘管我們建議您使用鏡子,但在您友好的鄰里OpenBSD鏡子中提供官方發布的TARBALLS。
libressl便攜式構建框架也在github上鏡像。
請向public [email protected]郵件列表或GitHub Disears Tracker報告錯誤
可以通過[email protected]將需要與OPENSL協調的嚴重漏洞或漏洞發送給核心團隊。
如果您已經使用git檢查了此源,或者從Github下載了源粉末,請按照以下初始步驟準備構建源樹。注意:如果您不遵循這些說明,則您的構建將失敗!如果您不能遵循這些說明或無法滿足這些先決條件,請從https://ftp.openbsd.org/pub/openbsd/libressl/下載正式發行版。強烈建議您使用官方版本,如果您不是開發人員。
./autogen.sh以準備建築物的源樹。 準備好源樹後,運行以下命令以構建和安裝:
./configure # see ./configure --help for configuration options
make check # runs builtin unit tests
make install # set DESTDIR= to install to an alternate location另外,可以運行./dist.sh來準備tarball。
準備好源樹後,運行以下命令以構建和安裝:
mkdir build
cd build
cmake ..
make
make test對於更快的構建,您可以使用忍者:
mkdir build-ninja
cd build-ninja
cmake -G " Ninja " ..
ninja
ninja test或其他支持的構建系統,例如Visual Studio:
mkdir build-vs2022
cd build-vs2022
cmake -G " Visual Studio 17 2022 " ..| 選項名稱 | 預設 | 描述 |
|---|---|---|
LIBRESSL_SKIP_INSTALL | OFF | 允許跳過安裝()規則。可以使用命令行指定-DLIBRESSL_SKIP_INSTALL=ON |
LIBRESSL_APPS | ON | 允許跳過應用程序構建。應用程序需要運行測試 |
LIBRESSL_TESTS | ON | 允許跳過測試。測試僅在靜態版本中可用 |
BUILD_SHARED_LIBS | OFF | 用於構建共享庫的CMAKE選項。 |
ENABLE_ASM | ON | 構建組裝優化規則。 |
ENABLE_EXTRATESTS | OFF | 啟用在某些平台上可能不可靠的額外測試 |
ENABLE_NC | OFF | 啟用安裝啟用TLS的NC(1) |
OPENSSLDIR | 空白的 | 設置默認的OpenSSL目錄。可以使用命令行指定-DOPENSSLDIR=<dirname> |
在運行配置之前,將UNIX_STD環境變量設置為2003 ,以便使用HP C/AC ++編譯器configure 。有關更多詳細信息,請參見“標準(5)”人頁面。
export UNIX_STD=2003
./configure
makelibressl建立在相對較新的mingw-w64版本上,不要與原始的mingw.org項目相混淆。 MingW-W64 3.2或更高版本應起作用。有關更多信息,請參見readme.ming.md。
在配置libressl以與Emscripten一起使用時,請確保將emcmake預先置於您的cmake Configuration命令。配置後,您可以繼續使用通常的cmake命令。例如:
emcmake cmake . -Bbuild
cmake --build build --config Release
ctest --test-dir build -C Release --output-on-failure在您的項目根部(主要CMakeLists.txt文件所在的位置)製作一個新文件夾,稱為cmake。將FindLibreSSL.cmake文件複製到該文件夾,然後將以下行添加到您的主CMakeLists.txt :
set ( CMAKE_MODULE_PATH " ${CMAKE_CURRENT_SOURCE_DIR} /CMake; ${CMAKE_MODULE_PATH} " )在您的CMakeLists.txt中的add_executable或add_library行之後。txt文件添加以下內容:
find_package (LibreSSL REQUIRED)它將告訴CMAKE查找libressl,如果發現將讓您使用CMakeLists.txt文件中的以下3個接口:
例如,如果您想在測試程序中使用Libressl TLS庫,則將其包括在內(SSL和Crypto是TLS所需的,也自動包含在內):
target_link_libraries ( test LibreSSL::TLS)完整示例:
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)遵循上面部分中的指南,使用Make and stun sudo make install編譯Libressl,將安裝libressl將libressl安裝到/usr/local/ folder中,並將通過find_package自動找到。如果您的系統將其安裝到另一個位置,或者您將它們放置在其他位置,則可以將CMAKE變量LIBRESSL_ROOT_DIR設置為正確的路徑,以幫助CMAKE查找庫。
將庫文件放入C:/Program Files/LibreSSL/lib和C:/Program Files/LibreSSL/include中的包含文件應自動找到它們,但建議您使用cmake-gui設置路徑。它更方便,因為您可以在選擇的任何文件夾中使用文件。