sslgnutls

libgnutls version and protocol standard correspondence


I need to find out if gnutls library that I have installed supports TLS 1.2 or TLS 1.3. I kept looking online but there doesn't seem to be a correspondence between library version and protocol standard. So to provide more clarification, here is what I see

$ ls -lah /usr/lib/libgnutls.so
/usr/lib/libgnutls.so -> ibgnutls.so.30.22.0

From this I can see that my library is at version 30.22.0 (we can talk more about library versioning later if you want). What I can't figure out is what protocol version does this library support. Is it TLS 1.2 or TLS 1.3 or both? To find out what TLS source code version I have installed I downloaded a dev version of gnutls and looked into /usr/include/gnutls/gnutls.h. Found the following in there

#define GNUTLS_VERSION "3.6.4"

#define GNUTLS_VERSION_MAJOR 3
#define GNUTLS_VERSION_MINOR 6
#define GNUTLS_VERSION_PATCH 4

#define GNUTLS_VERSION_NUMBER 0x030604

So it looks like I'm using version 3.6.4 of the source code. I also kept digging online, but couldn't determine if this version support TLS 1.2, TLS 1.3 or both.

Any help with this is really appreciated.


Solution

  • From https://gnutls.org/news.html:

    2018-09-24
    Released GnuTLS 3.6.4 of the next branch with support for the final version of TLS1.3.

    Thus, the version you have (3.6.4) should support TLS 1.3.