nouvelle version du projet , développement d'un outil fork de GnuPG (GNU Privacy Guard) avec des outils pour le cryptage des données, la gestion des signatures électroniques, la gestion des clés et l'accès aux dépôts publics de clés.
Les principales différences avec NeoPG sont une nettoyabilité significative du code, l'élimination des implémentations d'algorithmes obsolètes, le passage de C à C++11, une restructuration du code source pour simplifier son entretien et la fourniture d'une API extensible pour le développement d'extensions. Tout le nouveau code est sous une licence permissive BSD au lieu de GPLv3.
Parmi les changements, on note également la transition vers un système de construction cmake, le remplacement de Libgcrypt par la bibliothèque , le remplacement des analyseurs intégrés et du code pour la gestion de base de données par libcurl et SQLite. Dans NeoPG, le lancement de processus en arrière-plan gpg-agent, dirmngr (Directory Manager) et scdaemon (Smart Card Daemon) n'est plus effectué, remplacé par des gestionnaires auxiliaires à usage unique, qui se terminent immédiatement après l'exécution de la tâche.
La fonctionnalité principale de NeoPG est mise en œuvre sous la forme de la bibliothèque libneopg, qui peut être utilisée dans des applications tierces. Par-dessus libneopg, une interface de ligne de commande a été créée, consolidant les utilitaires disparates de GnuPG (gpg, gpgsm, gpgconf, gpgv, gpgtar, etc.) en un seul fichier exécutable neopg avec des sous-commandes au style Git et un support de sortie colorée. Au sein de la commande « neopg gpg2 », une couche a été implémentée pour assurer la compatibilité avec GnuPG 2.
Dans cette nouvelle version, la compatibilité avec l'outil gpg2 a été améliorée — si gpg2 est un lien dur vers neopg, une couche de compatibilité pour les commandes avec GnuPG 2 est automatiquement appliquée. Une nouvelle commande « packet dump » a été ajoutée. La prise en charge d'Ubuntu 18.04 a été assurée. Le fonctionnement des scripts de construction Cmake a été amélioré. Au lieu de boost::format, la bibliothèque fmtlib est utilisée. Un analyseur OpenPGP pour les dépôts de clés a été ajouté.
Source : opennet.ru
