GnuTLS


GnuTLS is a free software implementation of the TLS, SSL and DTLS protocols. It offers an application programming interface for applications to enable secure communication over the network transport layer, as well as interfaces to access X.509, PKCS #12, OpenPGP and other structures.

Features

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. administrators can configure the Apache web server to use GnuTLS so as to support TLS 1.2.
GnuTLS has the following features:

Origin

GnuTLS was initially created around March 2003 by Nikos Mavrogiannopoulos to allow applications of the GNU Project to use secure protocols such as TLS. Although OpenSSL already existed, OpenSSL's license is not compatible with the GPL; thus software under the GPL, such as GNU software, could not use OpenSSL without making a GPL linking exception.

License

The GnuTLS library was licensed originally under the GNU Lesser General Public License v2, while included applications use the GNU General Public License.
In August 2011 the library was updated to the LGPLv3. After it was noticed that there were new license compatibility problems introduced, especially with other free software with the license change, after discussions the license was downgraded again to LGPLv2.1 in March 2013.

Split from the GNU/FSF

Originally created for the GNU Project, its maintainer disassociated it from GNU in December 2012 after disputes with the Free Software Foundation over certain policies. Richard Stallman objected this move and suggested forking of the project, which was ignored. This step was followed by the GNU Sed maintainer Paolo Bonzini on end of December 2012 who put down his maintainership.

Deployment

Software packages using GnuTLS include: