libressl/portable
libressl/portable has 1,507 GitHub stars and 289 forks. GitHot measured 0 stars in 24 hours, +1 in 7 days, and +3 in 15 days. Last checked 2026-11-13 12:59 UTC. Last push 2026-11-10.
측정된 스타 증가
- in 24h
- 0
- in 7 days
- +1
- in 15 days
- +3
- in 1 month
- 기록 수집 중
서로 겹치는 기간의 순증가량이며 일별 합계가 아닙니다. 측정값이 없으면 비워 둡니다. 스타는 관심도를 나타내며 품질을 보장하지 않습니다.
소개
LibreSSL Portable itself. This includes the build scaffold and compatibility layer that builds portable LibreSSL from the OpenBSD source code. Pull requests or patches sent to [email protected] are welcome.
보안README.md
Original
Official portable version of LibreSSL
LibreSSL is a fork of OpenSSL 1.0.1g developed by the OpenBSD project. Our goal is to modernize the codebase, improve security, and apply best practice development processes from OpenBSD.
Compatibility with OpenSSL
LibreSSL provides much of the OpenSSL 1.1 API. The OpenSSL 3 API is not currently supported. Incompatibilities between the projects exist and are unavoidable since both evolve with different goals and priorities. Important incompatibilities will be addressed if possible and as long as they are not too detrimental to LibreSSL's goals of simplicity, security and sanity. We do not add new features, ciphers and API without a solid reason and require that new code be clean and of high quality.
LibreSSL is not ABI compatible with any release of OpenSSL, or necessarily earlier releases of LibreSSL. You will need to relink your programs to LibreSSL in order to use it, just as in moving between major versions of OpenSSL. LibreSSL's installed library version numbers are incremented to account for ABI and API changes.
Compatibility with other operating systems
While primarily developed on and taking advantage of APIs available on OpenBSD, the LibreSSL portable project attempts to provide working alternatives for other operating systems, and assists with improving OS-native implementations where possible.
At the time of this writing, LibreSSL is known to build and work on:
- Linux (kernel 3.17 or later recommended)
- FreeBSD (tested with 9.2 and later)
- NetBSD (7.0 or later recommended)
- HP-UX (11i)
- Solaris 11 and later
- Mac OS X (tested with 10.8 and later)
- AIX (5.3 and later)
- Emscripten (3.1.44 and later)
LibreSSL also supports the following Windows environments:
- Microsoft Windows (Windows 7 / Windows Server 2008r2 or later, x86 and x64)
- Wine (32-bit and 64-bit)
- MinGW-w64, Cygwin, and Visual Studio
Official release tarballs are available at your friendly neighborhood OpenBSD mirror in directory LibreSSL, although we suggest that you use a mirror.
The LibreSSL portable build framework is also mirrored on GitHub.
Please report bugs either to the public [email protected] mailing list, or to the GitHub issue tracker
Severe vulnerabilities or bugs requiring coordination with OpenSSL can be sent to the core team at [email protected].
Versioning
Major releases are usually made around the end of April and October, sometimes preceded by release candidates.
As of September 2026, LibreSSL portable follows the versioning scheme
N.N.P[rcR], where:
N.Nis incremented for each major release by0.1with carry. For example,4.8,4.9,5.0,5.1, and so on.Pstarts at0and is incremented for each patch release. Patch releases are ABI/API compatible and used for bug and security fixes.- Release candidates are marked with
rcRwhereRis the iteration.
For example, 4.4.2 indicates the second patch on major version 4.4,
and 4.5.0rc1 indicates the first release candidate for stable version
4.5.0.
Building LibreSSL
Building from a Git checkout
If you have checked out this source using Git, or have downloaded a source tarball from GitHub, follow these initial steps to prepare the source tree for building. Note: Your build will fail if you do not follow these instructions! If you cannot follow these instructions or cannot meet these prerequisites, please download an official release distribution from https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/ instead. Using official releases is strongly advised if you are not a developer.
- Ensure that you have a bash shell. This is also required on Windows.
- Ensure that you have the following packages installed: automake, autoconf, git, libtool, perl.
- Run
./autogen.shto prepare the source tree for building.
Build steps using configure
Once you have the source tree prepared, run these commands to build and install:
./configure # see ./configure --help for configuration options
make check # runs builtin unit tests
make install # set DESTDIR= to install to an alternate location
Alternatively, it is possible to run ./dist.sh to prepare a tarball.
Build steps using CMake
Once you have the source tree prepared, run these commands to build and install:
mkdir build
cd build
cmake ..
make
make test
For faster builds, you can use Ninja:
mkdir build-ninja
cd build-ninja
cmake -G"Ninja" ..
ninja
ninja test
Or another supported build system like Visual Studio:
mkdir build-vs2022
cd build-vs2022
cmake -G"Visual Studio 17 2022" ..
Additional CMake Options
| Option Name | Default | Description |
|---|---|---|
LIBRESSL_SKIP_INSTALL |
OFF |
allows skipping install() rules. Can be specified from command line using -DLIBRESSL_SKIP_INSTALL=ON |
LIBRESSL_APPS |
ON |
allows skipping application builds. Apps are required to run tests |
LIBRESSL_TESTS |
ON |
allows skipping of tests. Tests are only available in static builds |
BUILD_SHARED_LIBS |
OFF |
CMake option for building shared libraries. |
ENABLE_ASM |
ON |
builds assembly optimized rules. |
ENABLE_EXTRATESTS |
OFF |
Enable extra tests that may be unreliable on some platforms |
ENABLE_NC |
OFF |
Enable installing TLS-enabled nc(1) |
OPENSSLDIR |
Blank | Set the default openssl directory. Can be specified from command line using -DOPENSSLDIR=<dirname> |
Build information for specific systems
HP-UX (11i)
Set the UNIX_STD environment variable to 2003 before running configure
in order to build with the HP C/aC++ compiler. See the "standards(5)" man
page for more details.
export UNIX_STD=2003
./configure
make
MinGW-w64 - Windows
LibreSSL builds against relatively recent versions of MinGW-w64, not to be confused with the original mingw.org project. MinGW-w64 3.2 or later should work. See README.mingw.md for more information.
Emscripten
When configuring LibreSSL for use with Emscripten, make sure to prepend
emcmake to your cmake configuration command. Once configured, you can
proceed with your usual cmake commands. For example:
emcmake cmake . -Bbuild
cmake --build build --config Release
ctest --test-dir build -C Release --output-on-failure
Using LibreSSL
CMake
Make a new folder in your project root (where your main CMakeLists.txt file is
located) called CMake. Copy the FindLibreSSL.cmake file to that folder, and
add the following line to your main CMakeLists.txt:
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}")
After your add_executable or add_library line in your CMakeLists.txt file
add the following:
find_package(LibreSSL REQUIRED)
It will tell CMake to find LibreSSL and if found will let you use the following
3 interfaces in your CMakeLists.txt file:
- LibreSSL::Crypto
- LibreSSL::SSL
- LibreSSL::TLS
If you for example want to use the LibreSSL TLS library in your test program, include it like so (SSL and Crypto are required by TLS and included automatically too):
target_link_libraries(test LibreSSL::TLS)
Full example:
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)
Linux
Following the guide in the sections above to compile LibreSSL using make and
running sudo make install will install LibreSSL to the /usr/local/ folder,
and will be found automatically by find_package. If your system installs it to
another location, or you have placed them yourself in a different location, you
can set the CMake variable LIBRESSL_ROOT_DIR to the correct path, to help
CMake find the library.
Windows
Placing the library files in C:/Program Files/LibreSSL/lib and the include
files in C:/Program Files/LibreSSL/include should let CMake find them
automatically, but it is recommended that you use CMake-GUI to set the paths.
It is more convenient as you can have the files in any folder you choose.
관련 프로젝트 살펴보기
trimstray/the-book-of-secret-knowledge
영감을 주는 목록, 매뉴얼, 치트시트, 블로그, 팁, 원라이너, CLI/웹 도구 등을 모은 컬렉션.
258,197 스타Hack-with-Github/Awesome-Hacking
해커, 펜테스터, 보안 연구자를 위한 다양한 Awesome 목록 모음.
125,429 스타swisskyrepo/PayloadsAllTheThings
웹 애플리케이션 보안과 모의 침투 테스트/CTF에 유용한 페이로드 및 우회 방법 목록.
82,654 스타caddyserver/caddy
빠르고 확장 가능한 멀티플랫폼 HTTP/1-2-3 웹 서버이며, 자동 HTTPS를 지원합니다
79,042 스타