Welcome to GnuTLS project pages

  • Overview

    GnuTLS is a secure communications library implementing the SSL, TLS and DTLS protocols and technologies around them. It provides a simple C language application programming interface (API) to access the secure communications protocols as well as APIs to parse and write X.509, PKCS #12, OpenPGP and other required structures. It is aimed to be portable and efficient with focus on security and interoperability.

  • Features
    • Support for TLS 1.2, TLS 1.1, TLS 1.0, SSL 3.0 and Datagram TLS protocols
    • Support for authentication using both X.509 and OpenPGP certificates.
    • Support for password and key authentication methods such as SRP and PSK protocols.
    • Support for elliptic curves in addition to RSA and DSA.
    • Support for the Online Certificate Status Protocol (OCSP).
    • Support for all the strong encryption algorithms, including AES and Camellia.
    • Support for CPU-assisted cryptography with VIA padlock and AES-NI instruction sets.
    • Support for cryptographic accelerator drivers via /dev/crypto.
    • Supports natively cryptographic tokens such as smart-cards, via PKCS #11.
    • Runs on most Unix platforms and Windows.
  • License

    The core library licensed under the GNU Lesser General Public License version 3 (LGPLv3+). The LGPL license is compatible with a wide range of free licenses, and even permit you to use GnuTLS in non-free proprietary programs.

For more information on GnuTLS features, see the wikipedia article comparing different TLS implementations.

News flashes
2012-05-05 GnuTLS 2.12.19 was released, a bug-fix release on the previous stable branch.
2012-04-22 GnuTLS 3.0.19 was released, a bug-fix release on the current stable branch.
2012-04-02 GnuTLS 3.0.18 was released, a bug-fix release on the current stable branch.
2012-03-21 Added security advisories on the TLS record handling and libtasn1 issues.