GnuTLS
![]() | |
Developer(s) | Nikos Mavrogiannopoulos, Simon Josefsson |
---|---|
Stable release | 3.8.5[1] ![]() |
Repository | |
Written in | C,Assembly |
Operating system | Linux,macOS,Windows,BSD |
Platform | x86,x86-64,ARM[2] |
Type | Cryptographylibrary |
License | LGPL-2.1-or-later[3] |
Website | www |
GnuTLS(/ˈɡnuːˌtiːˌɛlˈɛs/,theGNU Transport Layer Security Library) is afree softwareimplementation of theTLS, SSLandDTLSprotocols. It offers anapplication programming interface(API) for applications to enable secure communication over the networktransport layer,as well as interfaces to accessX.509,PKCS #12,OpenPGPand other structures.
Features
[edit]GnuTLS consists of a library that allows client applications to start secure sessions using the available protocols. It also provides command-line tools, including an X.509 certificate manager, a test client and server, and random key and password generators.
GnuTLS has the following features:
- TLS1.3, TLS 1.2, TLS 1.1, TLS 1.0, and SSL 3.0 protocols
- Datagram TLS(DTLS) 1.2, and DTLS 1.0, protocols
- TLS-SRP:Secure remote password protocol(SRP) for TLS authentication
- TLS-PSK:Pre-shared key(PSK) for TLS authentication
- X.509andOpenPGPcertificate[4]handling
- CPU assisted cryptography and cryptographic accelerator support (/dev/crypto),VIA PadLockandAES-NIinstruction sets[5]
- Support forsmart cardsand for hardware security modules
- Storage of cryptographic keys in the system'sTrusted Platform Module(TPM)
History
[edit]Origin
[edit]GnuTLS was initially created around March[6]to November[7]2000, by Nikos Mavrogiannopoulos to allow applications of theGNU Projectto use secure protocols such asTLS.AlthoughOpenSSLalready existed, OpenSSL's license is notcompatiblewith the GPL;[8]thus software under the GPL, such as GNU software, could not use OpenSSL without making aGPL linking exception.
License
[edit]The GnuTLS library waslicensedoriginally under theGNU Lesser General Public Licensev2, while included applications to use theGNU General Public License.
In August 2011 the library was updated to theLGPLv3.[9]After it was noticed[10]that there were newlicense compatibilityproblems introduced, especially with otherfree softwarewith the license change, after discussions thelicense was downgradedagain to LGPLv2.1 in March 2013.[11]
Split from GNU
[edit]GnuTLS was created for theGNU Project,[12][13]but in December 2012 its maintainer, Nikos Mavrogiannopoulos, dissociated the project from GNU after policy disputes with theFree Software Foundation.[12][13]Richard Stallmanopposed this move and suggestedforkingthe project instead.[14]Soon afterward, developer Paolo Bonzini ended his maintainership of GNUSedandGrep,expressing concerns similar to those of GnuTLS maintainer Mavrogiannopoulos.[15]
Deployment
[edit]This sectionneeds additional citations forverification.(January 2015) |
Software packages using GnuTLS include(d):
- GNOME
- CenterIM
- Exim[16]
- WeeChat
- Mutt
- Wireshark
- slrn
- Lynx[16]
- CUPS
- gnoMint[16]
- GNU Emacs
- Synology DiskStation Manager
- OpenConnect[17]
See also
[edit]- Comparison of TLS implementations
- wolfSSL(previously CyaSSL)
- mbed TLS(previously PolarSSL)
- List of free and open-source software packages
- Network Security Services
References
[edit]- ^"gnutls 3.8.5".
- ^"Debian -- Details of package gnutls-bin in buster".packages.debian.org.Retrieved2020-06-27.
- ^"LICENSE".GitLab.Retrieved5 September2019.
- ^RFC6091
- ^The GnuTLS Transport Layer Security Library
- ^"Initialized repository for GNU TLS (8aef5fff) · Commits · gnutls / GnuTLS · GitLab".GitLab.2000-03-07.Retrieved2023-06-23.
- ^"gnutls0-0-4 · Tags · gnutls / GnuTLS · GitLab".GitLab.2000-11-15.Retrieved2023-06-23.
- ^Mark McLoughlin (22 June 2004)."The OpenSSL License and The GPL".Archived fromthe originalon 11 April 2016.Retrieved6 April2011.
- ^Version 2.99.4 (released 2011-07-23)[...] ** libgnutls: license upgraded to LGPLv3
- ^Mavrogiannopoulos, Nikos (26 March 2013)."The perils of LGPLv3".gnutls.org.Retrieved18 November2015.
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 ([email protected]) * COPYING.LESSER, README: gnutls 3.1.10 is LGPLv2.1
- ^abGnuTLS, copyright assignment, and GNU project governanceon lwn.net by Michael Kerrisk (December 20, 2012)
- ^ab Nikos Mavrogiannopoulos (18 December 2012)."gnutls is moving".Retrieved11 December2012.
- ^Stallman, Richard (11 December 2012)."GNUTLS is not going anywhere".gnutls-devel(Mailing list).
you cannot take GNUTLS out of the GNU Project.
- ^Bonzini, Paolo (22 December 2012)."GNU sed 4.2.2 released, and a rant from the maintainer".bug-gnu-utils(Mailing list).
- ^abc"GnuTLS - GNU Project - Free Software Foundation (FSF)".Free Software Foundation.22 May 2010. Archived fromthe originalon 31 May 2010.Retrieved25 January2015.
- ^"OpenConnect VPN client technical details".
External links
[edit]- Official website
- GNU Friends - An Interview with GNU TLS developer Nikos Mavroyanopoulos– a 2003 interview
- Fellowship interview with Simon Josefsson– a 2009 interview