The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"В рамках проекта NeoPG развивается форк GnuPG 2"
Отправлено opennews, 19-Янв-18 20:42 
Маркус Бринкман (Marcus Brinkmann (https://lambdafu.net/)), немецкий математик, известный своим участием в разработке GNU/Hurd,
основал (https://neopg.io/blog/cplusplus/) форк инструментария GnuPG (GNU Privacy Guard), предоставляющего совместимые со стандартом OpenPGP (RFC-4880) инструменты для шифрования данных, работы с электронными подписями, управления ключами и доступа к публичным хранилищам ключей. Новый проект получил название NeoPG (https://neopg.io/) и позиционируется в качестве современной замены  GnuPG 2.


Первичной задачей NeoPG называется проведение чистки кода и его  адаптации для упрощения дальнейшей разработки, в том числе предоставление расширяемого стабильного API для разработчиков приложений.  GnuPG излишне раздут: включает 490 тысяч строк кода на языке Си, поддерживает окло 400 опций, предоставляет два парсера OpenPGP, содержит свой HTTP-клиент и DNS-резолвер. Привязка к стандарту OpenPGP тянет за собой необходимость поддержки многих устаревших алгоритмов, потерявших актуальность в современных условиях (MD5, IDEA, DSA, 3DES, SHA-1, 64-разрядные ключи).


Для достижения поставленной цели было решено удалить всю неактуальную функциональность, а для исключения некоторых видов ошибок и упрощения дальнейшей разработки перевести кодовую базу с языка Cи на C++11. Для упрощения интеграции с другими проектами весь новый код поставляется (https://github.com/das-labor/neopg) под разрешительной лицензией BSD вместо GPLv3. Предложен новый интерфейс командной строки,  в котором произведено объединение входящих в GnuPG разрозненных утилит (gpg, gpgsm, gpgconf, gpgv, gpgtar и т.п.) в единый исполняемый файл neopg с оформлением субкоманд в стиле Git и поддержкой цветного вывода. В рамках команды "neopg gpg2" реализована прослойка для обеспечения совместимости с GnuPG 2.

За три месяца разработки NeoPG удалено 240 тысяч строк кода, добавлено около двух тысяч строк, частично выполнен переход на библиотеку Botan, прекращено поддержка 120 опций командной строки, осуществлён переход на систему сборки cmake. Вместо собственной реализации криптографических функций (Libgcrypt), задействована  библиотека Botan (https://github.com/randombit/botan), написанная на C++11 и поставляемая под лицензией BSD. Часть  встроенных возможностей заменена на  libcurl и SQLite. Все базовая функциональность выделена в отдельную библиотеку libneopg, которую можно использовать в приложениях. Поверх libneopg реализована обвязка с CLI-интерфейсом.


В NeoPG также решено (https://neopg.io/blog/no-daemons/) отказаться от запуска длительно работающих фоновых процессов gpg-agent, dirmngr (Directory Manager) и scdaemon (Smart Card Daemon). Вместо фоновых процессов обеспечивается запуск одноразовых вспомогательных helper-процессов, которые завершают работу сразу после выполнения задания. В будущем планируется интегрировать функциональность данных helper-процессов в библиотеку libneopg и вообще избавиться от необходимости запуска дополнительных процессов.


URL: https://neopg.io/blog/cplusplus/
Новость: https://www.opennet.ru/opennews/art.shtml?num=47936

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру