Dostępne jest NeoPG 0.0.6, rozwidlenie GnuPG 2

Przygotowany nowa odsłona projektu NeoPG, która rozwija rozwidlenie zestawu narzędzi GnuPG (GNU Privacy Guard) wraz z implementacją narzędzi do szyfrowania danych, pracy z podpisami elektronicznymi, zarządzania kluczami i dostępu do magazynów kluczy publicznych.
Kluczowe różnice w NeoPG to znaczne oczyszczenie kodu z implementacji przestarzałych algorytmów, przejście z języka C na C++ 11, przetwarzanie struktury tekstu źródłowego w celu uproszczenia konserwacji oraz zapewnienie rozszerzalnego API do programowania dodatków. Cały nowy kod dostarczane na liberalnej licencji BSD zamiast GPLv3.

Wśród zmian znalazło się przejście na system asemblera cmake oraz zastąpienie Libgcrypt biblioteką botan, zastępując wbudowane parsery i kod do pracy z bazą danych bibliotekami libcurl i SQLite. W NeoPG zatrzymano uruchamianie długotrwałych procesów działających w tle gpg-agent, dirmngr (Directory Manager) i scdaemon (Smart Card Daemon), zamiast których wykonywane są jednorazowe procedury obsługi pomocniczej, zakończone natychmiast po zakończeniu zadania.

Podstawowa funkcjonalność NeoPG jest zaimplementowana w postaci biblioteki libneopg, której można używać w aplikacjach innych firm. Interfejs wiersza poleceń jest zaimplementowany na bazie biblioteki libneopg, która łączy różne narzędzia zawarte w GnuPG (gpg, gpgsm, gpgconf, gpgv, gpgtar itp.) w jeden plik wykonywalny neopg z podpoleceniami w stylu Git i obsługą wyjścia w kolorze. W poleceniu „neopg gpg2” zaimplementowano warstwę zapewniającą kompatybilność z GnuPG 2.

W nowej wersji poprawiono kompatybilność z narzędziem gpg2 - jeśli gpg2 jest twardym łączem do neopg, automatycznie stosowana jest warstwa, aby zapewnić zgodność polecenia z GnuPG 2. Dodano nowe polecenie „packet dump”. Zapewniona jest obsługa systemu Ubuntu 18.04. Poprawiona wydajność skryptów kompilacji Cmake. Zamiast boost::format używana jest biblioteka fmtlib. Dodano parser OpenPGP dla magazynów kluczy.

Źródło: opennet.ru

Dodaj komentarz