GnuTLS
GnuTLS ([ˈɡnuːˌtiːˌɛlˈɛs], [Гну-Ті-Ел-Ес]), (the GNU Transport Layer Security Library) це вільна реалізація протоколів TLS, SSL і DTLS[en]. Вона являє собою прикладний програмний інтерфейс (API) для додатків, що забезпечують безпечний зв'язок через мережу транспортного рівня, а також доступ до X.509, PKCS 12[en], OpenPGP та до інших структур.
GnuTLS складається з бібліотеки яка дозволяє додаткам користувача запускати безпечні сеанси за допомогою наявних протоколів. Вона також забезпечує інструменти командної строки, включаючи менеджер сертифікатів X.509, тестовий клієнт і сервер, а також генератори випадкових ключів та паролів. З 2011 року адміністратори можуть налаштувати вебсервер Apache на використання GnuTLS щоб підтримувався TLS 1.2.[3]
GnuTLS має такі можливості:
- Підтримка протоколів TLS 1.3, 1.2, 1.1, 1.0 та (опціонально) SSL 3.0
- Підтримка протоколів Datagram TLS[en] (DTLS) 1.2, і DTLS 1.0
- Підтримка аутентифікації TLS за допомогою протоколу SRP[en]
- Підтримка розширення PSK[en] для аутентифікації TLS
- Підтримка аутентифікації як за допомогою сертифікатів X.509 так і за допомогою ключів OpenPGP[4]
- Підтримка процесора в криптографії та підтримка криптографічного прискорювача (/dev/crypto[en]), VIA Technologies і AES-NI наборів команд[5]
- Підтримка смарт-карток та модулів апаратної безпеки
- Зберігання криптографічних ключів в системному TPM модулі
GnuTLS початково була створена у березні 2003 року[6] Нікосом Маврогіанополосом щоб дозволити додаткам GNU Project використовувати безпечні протоколи, такі як TLS. Не дивлячись на те, що OpenSSL вже існував, ліцензія OpenSSL не була сумісна з GPL;[7] таким чином програмне забезпечення під GPL, таке як GNU, не могло використовувати OpenSSL без створення спеціального виключення[en].
Бібліотека GnuTLS була ліцензована під GNU Lesser General Public License v2, тоді як включені додатки використовували загальну публічну ліцензію GNU.
У серпні 2011 року бібліотека була оновлена до GPLv3.[8] Після цього було помічено[9] що з'явилися нові проблеми сумісності ліцензій, особливо з іншим вільним програмним забезпеченням зі зміною ліцензії. Після перемов ліцензія була знов понижена до LGPLv2.1 у березні 2013.[10]
Спочатку створюваний для GNU проекту, його розробник відхилив проект від GNU в грудні 2012 після суперечок із Фондом вільного програмного забезпечення через певні принципи.[11][12] Річард Столмен протестував проти цього кроку і запропонував розробити проігнорований проект.[13] Цього рішення притримався GNU Sed-розробник Пауло Бонзіні в кінці грудня 2012 року, який припинив свою підтримку.[14]
Пакети програмного забезпечення з використанням GnuTLS включають:
- GNOME
- CenterIM[en]
- Exim[15]
- Weechat[en]
- Mutt[en]
- Wireshark
- slrn[en]
- Lynx[15]
- CUPS
- gnoMint[en][15]
- Emacs
- Synology DiskStation Manager[en]
- Порівняння реалізацій TLS[en]
- wolfSSL (раніше CyaSSL)
- mbed TLS[en] (раніше PolarSSL)
- Network Security Services
- ↑ The gnutls Open Source Project on Open Hub: Languages Page — 2006.
- ↑ а б в http://directory.fsf.org/wiki/gnutls
- ↑ The GNU Transport Layer Security Library. Архів оригіналу за 4 березня 2016. Процитовано 18 грудня 2017.
- ↑ RFC 6091
- ↑ The GnuTLS Transport Layer Security Library. Архів оригіналу за 30 березня 2016. Процитовано 18 грудня 2017.
- ↑ Changelog 0.0.5. Архів оригіналу за 19 листопада 2015. Процитовано 18 грудня 2017.
- ↑ Mark McLoughlin (22 червня 2004). The OpenSSL License and The GPL. Архів оригіналу за 18 березня 2012. Процитовано 6 квітня 2011.
- ↑ Version 2.99.4 (released 2011-07-23)[…] ** libgnutls: license upgraded to LGPLv3. Архів оригіналу за 4 березня 2016. Процитовано 18 грудня 2017.
- ↑ Mavrogiannopoulos, Nikos (26 березня 2013). The perils of LGPLv3. gnutls.org. Архів оригіналу за 2 квітня 2016. Процитовано 18 листопада 2015.
LGPLv3 is the latest version of the GNU Lesser General Public License. It follows the successful LGPLv2.1 license, and was released by Free Software Foundation as a counterpart to its GNU General Public License version 3. The goal of the GNU Lesser General Public Licenses is to provide software that can be used by both proprietary and free software. This goal has been successfully handled so far by LGPLv2.1, and there is a multitude of libraries using that license. Now we have LGPLv3 as the latest, and the question is how successful is LGPLv3 on this goal? In my opinion, very little. If we assume that its primary goal is to be used by free software, then it blatantly fails that.
- ↑ 2013-03-14 Nikos Mavrogiannopoulos (nmav@gnutls.org) * COPYING.LESSER, README: gnutls 3.1.10 is LGPLv2.1. Архів оригіналу за 18 квітня 2016. Процитовано 18 грудня 2017.
- ↑ GnuTLS, copyright assignment, and GNU project governance [Архівовано 1 вересня 2017 у Wayback Machine.] on lwn.net by Michael Kerrisk (December 20, 2012)
- ↑ Nikos Mavrogiannopoulos (18 грудня 2012). gnutls is moving. Архів оригіналу за 5 січня 2018. Процитовано 11 грудня 2012.
- ↑ GNUTLS is not going anywhere [Архівовано 12 березня 2016 у Wayback Machine.] on lists.gnu.org «you cannot take GNUTLS out of the GNU Project.» (11 Dec 2012)
- ↑ Subject: GNU sed 4.2.2 released, and a rant from the maintainer [Архівовано 7 січня 2016 у Wayback Machine.] on gmane.comp.lang.smalltalk.gnu.general by Paolo Bonzini (on 2012-12-22)
- ↑ а б в GnuTLS - GNU Project - Free Software Foundation (FSF). Free Software Foundation. 22 травня 2010. Архів оригіналу за 31 May 2010. Процитовано 25 січня 2015.
- Офіційний сайт
- GNU Friends — An Interview with GNU TLS developer Nikos Mavroyanopoulos — інтерв'ю 2003 року
- Fellowship interview with Simon Josefsson [Архівовано 22 березня 2016 у Wayback Machine.] — інтерв'ю 2009 року