GnuTLS

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
GnuTLS
GNUTLS-logo.svg
Тип бібліотека
Розробник Фонд вільного програмного забезпечення
Репозиторій gitlab.com/gnutls/gnutls.git
Операційна система Багатоформне програмне забезпечення
Написано на C[1]
Ліцензія LGPL-2.1+[d][2], LGPL-3.0+[d][2] і GNU General Public License, version 3.0 or later[d][2]
gnutls.org

GnuTLS ([ˈɡnuːˌtiːˌɛlˈɛs], [Гну-Ті-Ел-Ес]), (the GNU Transport Layer Security Library) це вільна реалізація протоколів TLS, SSL і DTLS[en]. Вона являє собою прикладний програмний інтерфейс (API) для додатків, що забезпечують безпечний зв'язок через мережу транспортного рівня, а також доступ до X.509, PKCS 12[en], OpenPGP[en] та до інших структур.

Особливості[ред. | ред. код]

GnuTLS складається з бібліотеки яка дозволяє додаткам користувача запускати безпечні сеанси за допомогою наявних протоколів. Вона також забезпечує інструменти командної строки, включаючи менеджер сертифікатів X.509, тестовий клієнт і сервер, а також генератори випадкових ключів та паролів. З 2011 року адміністратори можуть налаштувати веб-сервер Apache на використання GnuTLS щоб підтримувався TLS 1.2.[3]

GnuTLS має такі можливості:

  • Підтримка протоколів TLS 1.2, TLS 1.1, TLS 1.0, і SSL 3.0
  • Підтримка протоколів Datagram TLS[en] (DTLS) 1.2, і DTLS 1.0
  • Підтримка аутентифікації TLS за допомогою протоколу SRP[en]
  • Підтримка розширення PSK[en] для аутентифікації TLS
  • Підтримка аутентифікації як за допомогою сертифікатів X.509 так і за допомогою ключів OpenPGP[en][4]
  • Підтримка процесора в криптографії та підтримка криптографічного прискорювача (/dev/crypto[en]), VIA Technologies і AES-NI наборів команд[5]
  • Підтримка смарт-карток та модулів апаратної безпеки
  • Зберігання криптографічних ключів в системному TPM модулі

Історія[ред. | ред. код]

Походження[ред. | ред. код]

GnuTLS початково була створена у березні 2003 року[6] Нікосом Маврогіанополосом щоб дозволити додаткам GNU Project використовувати безпечні протоколи, такі як TLS. Не дивлячись на те, що OpenSSL вже існував, ліцензія OpenSSL не була сумісна[en] з GPL;[7] таким чином програмне забезпечення під GPL, таке як GNU, не могло використовувати OpenSSL без створення спеціального виключення[en].

Ліцензія[ред. | ред. код]

Бібліотека GnuTLS була ліцензована під GNU Lesser General Public License v2, тоді як включені додатки використовували загальну публічну ліцензію GNU.

У серпні 2011 року бібліотека була оновлена до GPLv3.[8] Після цього було помічено[9] що з'явилися нові проблеми сумісності ліцензій[en], особливо з іншим вільним програмним забезпеченням зі зміною ліцензії. Після перемов ліцензія була знов понижена до LGPLv2.1 у березні 2013.[10]

Поділ GNU/FSF[ред. | ред. код]

Спочатку створюваний для GNU проекту, його розробник відхилив проект від GNU в грудні 2012 після суперечок із Фондом вільного програмного забезпечення через певні принципи.[11][12] Річард Столмен протестував проти цього кроку і запропонував розробити проігнорований проект.[13] Цього рішення притримався GNU Sed-розробник Пауло Бонзіні в кінці грудня 2012 року, який припинив свою підтримку.[14]

Використання[ред. | ред. код]

Пакети програмного забезпечення з використанням GnuTLS включають:

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. The gnutls Open Source Project on Open Hub: Languages Page — 2006.
  2. а б в http://directory.fsf.org/wiki/gnutls
  3. The GNU Transport Layer Security Library. Архів оригіналу за 4 березень 2016. Процитовано 18 грудень 2017. 
  4. RFC 6091
  5. The GnuTLS Transport Layer Security Library
  6. Changelog 0.0.5
  7. Mark McLoughlin (2004-06-22). The OpenSSL License and The GPL. Процитовано 2011-04-06. 
  8. Version 2.99.4 (released 2011-07-23)[…] ** libgnutls: license upgraded to LGPLv3
  9. Mavrogiannopoulos, Nikos (2013-03-26). The perils of LGPLv3. gnutls.org. Процитовано 2015-11-18. «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.» 
  10. 2013-03-14 Nikos Mavrogiannopoulos (nmav@gnutls.org) * COPYING.LESSER, README: gnutls 3.1.10 is LGPLv2.1
  11. GnuTLS, copyright assignment, and GNU project governance on lwn.net by Michael Kerrisk (December 20, 2012)
  12. Nikos Mavrogiannopoulos (2012-12-18). gnutls is moving. Процитовано 2012-12-11. 
  13. GNUTLS is not going anywhere on lists.gnu.org «you cannot take GNUTLS out of the GNU Project.» (11 Dec 2012)
  14. Subject: GNU sed 4.2.2 released, and a rant from the maintainer Архівовано January 7, 2016, у Wayback Machine. on gmane.comp.lang.smalltalk.gnu.general by Paolo Bonzini (on 2012-12-22)
  15. а б в GnuTLS - GNU Project - Free Software Foundation (FSF). Free Software Foundation. 22 May 2010. Архів оригіналу за 31 May 2010. Процитовано 25 January 2015. 

Посилання[ред. | ред. код]