Libressl adalah garpu OpenSSL 1.0.1g yang dikembangkan oleh proyek OpenBSD. Tujuan kami adalah memodernisasi basis kode, meningkatkan keamanan, dan menerapkan proses pengembangan praktik terbaik dari OpenBSD.
Libressl menyediakan banyak API OpenSSL 1.1. API OpenSSL 3 saat ini tidak didukung. Ketidakcocokan antara proyek ada dan tidak dapat dihindari karena keduanya berkembang dengan tujuan dan prioritas yang berbeda. Ketidakcocokan penting akan ditangani jika memungkinkan dan selama mereka tidak terlalu merugikan tujuan kesederhanaan, keamanan, dan kewarasan Libressl. Kami tidak menambahkan fitur baru, cipher, dan API tanpa alasan yang kuat dan mengharuskan kode baru bersih dan berkualitas tinggi.
Libressl tidak kompatibel dengan rilis OpenSSL, atau rilis Libressl sebelumnya. Anda perlu mencantumkan kembali program Anda ke Libressl untuk menggunakannya, seperti halnya bergerak di antara versi utama OpenSSL. Nomor versi perpustakaan yang diinstal Libressl bertambah untuk memperhitungkan perubahan ABI dan API.
Sementara terutama dikembangkan dan mengambil keuntungan dari API yang tersedia di OpenBSD, Proyek Portabel Libressl berupaya untuk menyediakan alternatif kerja untuk sistem operasi lainnya, dan membantu meningkatkan implementasi asli OS jika memungkinkan.
Pada saat penulisan ini, Libressl dikenal untuk membangun dan mengerjakan:
Libressl juga mendukung lingkungan Windows berikut:
Tarball rilis resmi tersedia di lingkungan OpenBSD lingkungan Anda yang ramah di Direktori Libressl, meskipun kami menyarankan Anda menggunakan cermin.
Kerangka kerja build portabel Libressl juga dicerminkan di GitHub.
Harap laporkan bug baik ke milis publik [email protected], atau ke pelacak masalah github
Kerentanan atau bug yang parah yang membutuhkan koordinasi dengan OpenSSL dapat dikirim ke tim inti di [email protected].
Jika Anda telah memeriksa sumber ini menggunakan git, atau telah mengunduh sumber tarball dari GitHub, ikuti langkah -langkah awal ini untuk menyiapkan pohon sumber untuk membangun. Catatan: Bangunan Anda akan gagal jika Anda tidak mengikuti instruksi ini! Jika Anda tidak dapat mengikuti instruksi ini atau tidak dapat memenuhi prasyarat ini, silakan unduh distribusi rilis resmi dari https://ftp.openbsd.org/pub/openbsd/libressl/ sebagai gantinya. Menggunakan rilis resmi sangat disarankan jika Anda bukan pengembang.
./autogen.sh untuk menyiapkan pohon sumber untuk membangun. Setelah Anda menyiapkan pohon sumber, jalankan perintah ini untuk membangun dan menginstal:
./configure # see ./configure --help for configuration options
make check # runs builtin unit tests
make install # set DESTDIR= to install to an alternate location Atau, dimungkinkan untuk menjalankan ./dist.sh untuk menyiapkan tarball.
Setelah Anda menyiapkan pohon sumber, jalankan perintah ini untuk membangun dan menginstal:
mkdir build
cd build
cmake ..
make
make testUntuk build yang lebih cepat, Anda dapat menggunakan Ninja:
mkdir build-ninja
cd build-ninja
cmake -G " Ninja " ..
ninja
ninja testAtau sistem build yang didukung lainnya seperti Visual Studio:
mkdir build-vs2022
cd build-vs2022
cmake -G " Visual Studio 17 2022 " ..| Nama opsi | Bawaan | Keterangan |
|---|---|---|
LIBRESSL_SKIP_INSTALL | OFF | memungkinkan aturan instalasi (). Dapat ditentukan dari baris perintah menggunakan-DLIBRESSL_SKIP_INSTALL=ON |
LIBRESSL_APPS | ON | memungkinkan pembangunan aplikasi. Aplikasi diperlukan untuk menjalankan tes |
LIBRESSL_TESTS | ON | memungkinkan melewatkan tes. Tes hanya tersedia dalam bangunan statis |
BUILD_SHARED_LIBS | OFF | Opsi CMake untuk membangun perpustakaan bersama. |
ENABLE_ASM | ON | Membangun perakitan aturan yang dioptimalkan. |
ENABLE_EXTRATESTS | OFF | Aktifkan tes tambahan yang mungkin tidak dapat diandalkan di beberapa platform |
ENABLE_NC | OFF | Aktifkan menginstal NC yang diaktifkan TLS (1) |
OPENSSLDIR | Kosong | Atur direktori OpenSSL default. Dapat ditentukan dari baris perintah menggunakan-DOPENSSLDIR=<dirname> |
Atur variabel lingkungan UNIX_STD ke 2003 sebelum menjalankan configure untuk membangun dengan kompiler HP C/AC ++. Lihat halaman Manusia "Standar (5)" untuk lebih jelasnya.
export UNIX_STD=2003
./configure
makeLibressl dibangun terhadap versi Mingw-W64 yang relatif baru, jangan bingung dengan proyek Mingw.org yang asli. Mingw-W64 3.2 atau lebih baru harus bekerja. Lihat readme.mingw.md untuk informasi lebih lanjut.
Saat mengkonfigurasi Libressl untuk digunakan dengan Emscripten, pastikan untuk menyiapkan emcmake ke perintah konfigurasi cmake Anda. Setelah dikonfigurasi, Anda dapat melanjutkan dengan perintah cmake biasa. Misalnya:
emcmake cmake . -Bbuild
cmake --build build --config Release
ctest --test-dir build -C Release --output-on-failure Buat folder baru di root proyek Anda (di mana file CMakeLists.txt utama Anda berada) yang disebut cmake. Salin file FindLibreSSL.cmake ke folder itu, dan tambahkan baris berikut ke CMakeLists.txt utama Anda:
set ( CMAKE_MODULE_PATH " ${CMAKE_CURRENT_SOURCE_DIR} /CMake; ${CMAKE_MODULE_PATH} " ) Setelah baris add_executable atau add_library Anda di file CMakeLists.txt Anda tambahkan yang berikut:
find_package (LibreSSL REQUIRED) Ini akan memberi tahu CMake untuk menemukan LibressL dan jika ditemukan akan memungkinkan Anda menggunakan 3 antarmuka berikut di file CMakeLists.txt Anda:
Jika Anda misalnya ingin menggunakan pustaka Libressl TLS dalam program pengujian Anda, sertakan seperti itu (SSL dan crypto diperlukan oleh TLS dan termasuk secara otomatis juga):
target_link_libraries ( test LibreSSL::TLS)Contoh Lengkap:
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) Mengikuti panduan di bagian di atas untuk mengkompilasi LibressL menggunakan Make and Running sudo make install akan menginstal LibressL ke /usr/local/ folder, dan akan ditemukan secara otomatis oleh find_package. Jika sistem Anda menginstalnya ke lokasi lain, atau Anda telah menempatkannya sendiri di lokasi yang berbeda, Anda dapat mengatur variabel cmake LIBRESSL_ROOT_DIR ke jalur yang benar, untuk membantu cmake menemukan perpustakaan.
Menempatkan file perpustakaan di C:/Program Files/LibreSSL/lib dan file include dalam C:/Program Files/LibreSSL/include harus membiarkan cmake menemukannya secara otomatis, tetapi disarankan agar Anda menggunakan cmake-gui untuk mengatur jalur. Ini lebih nyaman karena Anda dapat memiliki file di folder apa pun yang Anda pilih.