
LibreSSL to rozwidlenie OpenSSL opracowane przez projekt OpenBSD.
Twórcy projektu OpenBSD ogłosili niedawno wydanie przenośnej edycji pakietu. „FreeSSL 3.8.0”, wersja, w której dokonano kilku zmian i ulepszeń skupionych na stabilności i kompatybilności.
Ci, którzy nie znają LibreSSL, powinni o tym wiedzieć jest implementacją typu open source protokołu TLS rozwija rozwidlenie OpenSSL mający na celu zapewnienie wyższego poziomu bezpieczeństwa. LibreSSL został początkowo opracowany jako zamierzony zamiennik OpenSSL w OpenBSD i został przeniesiony na inne platformy po ustabilizowaniu uproszczonej wersji biblioteki.
Projekt LibreSSL koncentruje się na wysokiej jakości obsłudze protokołów SSL/TLS poprzez usunięcie niepotrzebnych funkcji, dodanie dodatkowych funkcji bezpieczeństwa oraz znaczne oczyszczenie i przeróbkę bazy kodu.
Główne nowe funkcje LibreSSL 3.8.0
Wersja LibreSSL 3.8.0 jest uważany za wersję eksperymentalną która rozwija funkcje, które zostaną włączone do OpenBSD 7.4. W tym samym czasie powstały stabilne wersje LibreSSL 3.6.3 i 3.7.3, w których poprawiono różne błędy.
W nowej wersji LibreSSL 3.8.0 podkreślono to poprawiona kompatybilność endian.h z makrami hto* i *toh, Oprócz dodania ww obsługa SHA-2 i SHA-3 obcięty i rozpoczął się wewnętrzny proces czyszczenia i przerabiania kodu SHA.
Kolejną godną uwagi zmianą jest przepisane funkcje wewnętrzne BN_exp() i BN_copy(), a także zastąpienie implementacji funkcji BN_mod_sqrt().
Oprócz tego podkreśla się również, że dodane instrukcje asembler dla architektury AMD64 używa instrukcji endbr64 (Zakończ oddział pośredni).
Wyróżnia się również tym, że został dodany poprawka źle przemyślanej zmiany w OpenSSL 3, która psuła obsługę separacji uprawnień w libtls, Ponadto kod BoringSSL został przeniesiony w celu weryfikacji reguł zdefiniowanych w RFC 5280, a translacja libcrypto nadal korzysta z interfejsów CBB (bytebuilder) i CBS (bytestring).
Z drugiej strony podkreślono, że kod weryfikacyjny polityki BoringSSL RFC 5280 został zaimportowany i wykorzystany
zastąpić stary wykładniczy kod czasowy, oprócz usunięcia obsługi GF2m:BIGNUM, ponieważ nie obsługuje rozszerzenia binarnego, usunięcie większości symboli publicznych, które zostały wycofane w OpenSSL 0.9.8.
Z innych zmian które wyróżniają się na tle nowej wersji:
- Usunięto publiczne API X9.31 (RSA_X931_PADDING jest nadal dostępne).
- Usunięto tryb kradzieży tekstu zaszyfrowanego.
- Usunięto obsługę SXNET i NETSCAPE_CERT_SEQUENCE, w tym
komenda openssl(1) nsekw. - Usunięto obsługę certyfikatu proxy (RFC 3820).
- POLICY_TREE i powiązane z nim struktury i interfejsy API zostały usunięte.
- Naprawiono sprawdzanie błędów dla i2d_ECDSA_SIG() w ossl_ecdsa_sign().
- Naprawiono wykrywanie operacji rozszerzonych (XOP) na sprzęcie AMD.
- Naprawiono obsługę błędów w tls_check_common_name().
- Dodano unieważnienie brakującego wskaźnika w SSL_free().
- Naprawiono X509err() i X509V3err() oraz ich wewnętrzne wersje.
- Znacząco ulepszone pokrycie testowe BN_mod_sqrt() i GCD.
- Jak zawsze, nowy zakres testów jest dodawany w miarę naprawiania błędów i podsystemów
są czyszczone.
Na koniec, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami W poniższym linku.
Jak zainstalować nową wersję LibreSSL?
Osoby zainteresowane możliwością zainstalowania tej nowej wersji powinny wiedzieć, że w tej chwili nie dotarła ona do większości dystrybucji Linuksa, więc obecnie dostępna instalacja to samodzielnie skompilować pakiet.
Ale nie martw się, kompilacja LibreSSL Jest to bardzo proste i do tego wystarczy otworzyć terminal i uruchom następujące polecenia (musisz mieć następujące zależności automake, autoconf, git, libtool, perl i git).
Pierwszą rzeczą jest uzyskanie kodu źródłowego, co możesz zrobić za pomocą tego polecenia:
klon git https://github.com/libressl/portable.git
Gdy to zrobimy, teraz przygotujemy sposób przeprowadzenia kompilacji, w tym celu wchodzimy do folderu zawierającego kod źródłowy LibreSSL i wpisujemy:
cd przenośny ./autogen.sh ./dist.sh
Po wykonaniu tej czynności przystępujemy do kompilacji z:
./configure make sprawdź make install
Lub jeśli wolisz to zrobić za pomocą CMake:
mkdir zbuduj cd zbuduj cmake .. make make test