The OpenNET Project / Index page

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

Доступен NeoPG 0.0.6, форк GnuPG 2

23.04.2019 23:09

Подготовлен новый выпуск проекта NeoPG, развивающего форк инструментария GnuPG (GNU Privacy Guard) c реализацией инструментов для шифрования данных, работы с электронными подписями, управления ключами и доступа к публичным хранилищам ключей. Ключевыми отличиями NeoPG является проведение существенной чистки кода от реализаций устаревших алгоритмов, переход с языка Cи на C++11, переработка структуры исходных текстов для упрощения сопровождения и предоставление расширяемого API для разработки надстроек. Весь новый код поставляется под разрешительной лицензией BSD вместо GPLv3.

Среди изменений также выделяется переход на сборочную систему cmake, замена Libgcrypt на библиотеку Botan, замена встроенных парсеров и кода для работы с БД на libcurl и SQLite. В NeoPG прекращён запуск длительно работающих фоновых процессов gpg-agent, dirmngr (Directory Manager) и scdaemon (Smart Card Daemon), вместо которых выполняются одноразовые вспомогательные обработчики, завершаемые сразу после выполнения задания.

Основная функциональность NeoPG реализована в форме библиотеки libneopg, которую можно использовать в сторонних приложениях. Поверх libneopg реализован интерфейс командной строки, в котором произведено объединение входящих в GnuPG разрозненных утилит (gpg, gpgsm, gpgconf, gpgv, gpgtar и т.п.) в единый исполняемый файл neopg с оформлением субкоманд в стиле Git и поддержкой цветного вывода. В рамках команды "neopg gpg2" реализована прослойка для обеспечения совместимости с GnuPG 2.

В новом выпуске улучшена совместимость с утилитой gpg2 - если gpg2 является жёсткой ссылкой на neopg, то автоматически применяется слой для обеспечения совместимости команд с GnuPG 2. Добавлена новая команда "packet dump". Обеспечена поддержка Ubuntu 18.04. Улучшена работа сборочных сценариев Cmake. Вместо boost::format задействована библиотека fmtlib. Добавлен OpenPGP парсер для хранилищ ключей.

  1. Главная ссылка к новости (https://github.com/das-labor/n...)
  2. OpenNews: Выпуск GnuPG 2.2.13
  3. OpenNews: Уязвимость в GnuPG
  4. OpenNews: Выпуск GnuPG 2.2.0
  5. OpenNews: В рамках проекта NeoPG развивается форк GnuPG 2
  6. OpenNews: Выпуск криптографической библиотеки Botan 2.10.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50564-neopg
Ключевые слова: neopg, pgp, ngupg
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (39) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:11, 23/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Кек, за курлом тянется такой хвост уязвимостей, что кукареканье про секурность невозможно воспринимать всерьез.
     
     
  • 2.3, neo (??), 23:53, 23/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    По-вашему лучше пилить очередной велосипед и наплодить ещё больше дивных новых багов?
     
     
  • 3.10, Аноним (10), 00:44, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если "велосипед" лучше и безопаснее, то почему бы и нет?

    То, что разработчик NeoPG не может пукнyть без помощи third-party библиотек, скорее указывает на нехватку сил и умения, а не грамотную архитектуру и заботу о пользователях. Когда его творение поимеют из-за дыр в этих библиотеках, пользователям будет плевать, какие крутые это были библиотеки, и как много времени он себе сэкономил путём их использования.

     
     
  • 4.16, Аноним (16), 10:09, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Может ему кроме своих libcurl и crypto еще и ОС релизовывать сразу?
    Ну там дистрибутивчик новый выкатить?
    В мире лялекса так принято, что на каждую программку из 3,5строк по дистрибутиву.
     
     
  • 5.35, Ботан (?), 21:25, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    зачем писать глупости? внимания не хватает?
    чего только стоит студентокод libcurl достаточно глянуть исходники, что бы понять что эта либа пилилась для скачивания интернет странички на один раз. А потом разрабам стало лень и ненужно переписывать ее код.
     
  • 3.22, Аноним (1), 14:00, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если curl такой дырявый (а дыры в нем регулярно находят), а gpg нет, встает вопрос — а нужно ли переписывать, и если нужно, то может не на плюспх из прошлого десятилетия с дырявым HTTP двиглом?
     
  • 2.23, Аноним (23), 14:12, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Давай список непофикшеных.
     
  • 2.28, Аноним (28), 16:20, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В велосипеде их, конечно же, меньше
     
     
  • 3.34, пох (?), 20:20, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    в правильном велосипеде их действительно меньше, потому что там нет климат-контроля, развлекательного центра (с доступом к управлению двигателем и автопилоту) и самого автопилота, кстати, тоже нет.

    curl это попытка сделать все и для всех, навсегда - что, наверное, неплохо для программ, у которых сетевой функционал вторичен и при этом сравнительно универсален - сегодня нам нужен http, завтра ssh, послезавтра вообще smtp.

    а для узкоспециализированной, да еще и требующей очень бережного отношения из-за работы с максимально оберегаемыми (по задумке) данными - тривиальное взаимодействие с keyservers вполне можно было правильно и надежно сделать самому.

    Но зачем? Автору оно на самом ведь деле - не нать.

     
     
  • 4.39, Аноним (39), 10:51, 25/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    curl весь мир пользуется и проверяет, а в велосипеде уязвимостей "нет" только потому, что их никто не опубликовал
     

  • 1.2, Аноним (2), 23:26, 23/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    NSA старается не покладая рук
     
     
  • 2.29, OpenEcho (?), 17:53, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    NSA вообще то занято c GnuPG2:

    CVE-2018-12556
    CVE-2018-12356
    CVE-2018-12019
    CVE-2018-12020
    ...

     
     
  • 3.30, Аноним (30), 19:42, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > [CVE-2018-12556] Bypassing signature verification in Yarn package manager

    Чиво? gpg тут при чём? Дальше даже не стал смотреть.

     
     
  • 4.40, OpenEcho (?), 16:28, 25/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    >> [CVE-2018-12556] Bypassing signature verification in Yarn package manager
    > Чиво? gpg тут при чём? Дальше даже не стал смотреть.

    ну и зря:

    https://www.cvedetails.com/vulnerability-list/vendor_id-4711/Gnupg.html

     
  • 3.37, Vitaliy Burovoy (ok), 02:25, 25/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Из приведённого списка к GnuPG2 относится только:

    > mainproc.c in GnuPG before 2.2.8 mishandles
    > the original filename during decryption and
    > verification actions, which allows remote
    > attackers to spoof the output that GnuPG sends…

    https://nvd.nist.gov/vuln/detail/CVE-2018-12020

     

  • 1.4, neo (??), 23:57, 23/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Пользуясь случаем реквестую замену глючному Gpg4win. В общем, чтобы использовать GnuPG под Windows с человеческим GUI.
     
  • 1.5, Аноним (5), 00:09, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > вместо которых выполняются одноразовые вспомогательные обработчики, завершаемые сразу после выполнения задания.

    А как одноразовый обработчик заменит gpg-agent?

     
  • 1.6, Аноним (-), 00:23, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    > форк проекта GnuXX
    > под разрешительной лицензией BSD, вместо GPLv3

    сколько они занесли Столлману?.. :)

     
  • 1.7, виндотролль (ok), 00:24, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Зачем переписывать на мертвом языке?
     
     
  • 2.8, Аноним (8), 00:28, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну да, пора б на Bosque в в 2k19 писать.
     
     
  • 3.11, виндотролль (ok), 01:07, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну да, пора б на Bosque в в 2k19 писать.

    Не, ну я вполне серьезно.

    Ладно б на си, с ним потом можно слинковаться из раста, из с++, из джавы/котлина/любого жвм, из питона да вообще всего.

    Какой смысл в С++? Ладно б это был очередной плеер. Но они метят в либу, которую, по идее, должны юзать другие...

     
     
  • 4.14, Аноним (14), 08:00, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Ладно б на си, с ним потом можно слинковаться из раста, из с++, из джавы/котлина/любого жвм, из питона да вообще всего.

    ниасилил extern "C"?

     
     
  • 5.18, ффф (?), 10:58, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > ниасилил extern "C"?

    - то есть классов и темплейтов там не будет? и зачем тогда С++?

     
     
  • 6.19, Vsevolod Stakhov (?), 11:16, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Почему не будет? Для внутренних интерфейсов запросто. А для внешних интерфейсов пишутся минимальные обертки с extern "C". Так, например, сделан тот же hyperscan. Ну и на C++ реально проще писать эффективный код, чем на plain C, как раз за счет темплейтов и всяких constexpr.
     
     
  • 7.33, виндотролль (ok), 20:14, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Почему не будет? Для внутренних интерфейсов запросто. А для внешних интерфейсов пишутся
    > минимальные обертки с extern "C". Так, например, сделан тот же hyperscan.
    > Ну и на C++ реально проще писать эффективный код, чем на
    > plain C, как раз за счет темплейтов и всяких constexpr.

    Все это красиво в теории, а на практике, минимальные обертки пишутся на отъе**сь, для половины функциональности в лучшем случае.


     
  • 7.38, GentooBoy (ok), 02:31, 25/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и на C++ реально проще писать эффективный код, чем на plain C

    Именно поэтому rspamd  на си написан?

     
     
  • 8.41, Vsevolod Stakhov (?), 20:28, 26/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Основная логика в Rspamd пишется на Lua Если бы я начинал проект сейчас и знал,... текст свёрнут, показать
     

  • 1.9, Аноним (-), 00:32, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    на nodeJS! :)
     
  • 1.12, th3m3 (ok), 01:23, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >переход с языка Cи на C++11

    Нужно было брать Rust. Тогда мог быть смысл.

     
     
  • 2.13, КГБ СССР (?), 07:10, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Возьми и перепиши на Rust.
    За тебя это никто делать не будет.

    Или ты только критиковать и предлагать всякий бред оразд?

     
  • 2.21, Аноним (21), 12:09, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Во, ещё один pedeRust.
     
  • 2.36, Растишка (?), 21:45, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Пока ты языком болтаешь, люди уже делают:

    https://sequoia-pgp.org/

     

  • 1.15, Аноним (15), 08:55, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    О, криптография от Васяна, встречайте. Следующее (или уже третье) поколение выпилильщиков, наверно, из дебиана подвезли [https://www.schneier.com/blog/archives/2008/05/random_number_b.html]
     
     
  • 2.24, Аноним (23), 14:16, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Скобка после урла неправильно парсится.
     
  • 2.31, Аноним (30), 19:44, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А debian при чём?
     

  • 1.20, Аноним (20), 12:06, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > форк инструментария GnuPG
    > Весь новый код поставляется под разрешительной лицензией BSD

    То есть новые части кода отдельно под BSD, но проект в целом все равно получается под GPL.

     
  • 1.26, Анонимно (?), 15:35, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Си на С++? Лучше бы уж на Golang переписали.
     
     
  • 2.32, Аноним (30), 20:09, 24/04/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У go слишком уродливый синтаксис:
    func (p *Point) Translate(dx, dy float64) (float64, error) {

    if nerr, ok := err.(net.Error); ok && nerr.Temporary() {

    facepalm

     

  • 1.27, Аноним (-), 16:19, 24/04/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Переписать с C на C++ и поменять лицензию с GPLv3 на BSD. Сказочные дол***бы.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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