Introduction to GnuTLS
The GnuTLS package contains
libraries and userspace tools which provide a secure layer over a
reliable transport layer. Currently the GnuTLS library implements the proposed
standards by the IETF's TLS working group. Quoting from the TLS
protocol specification:
“The TLS protocol provides communications
privacy over the Internet. The protocol allows client/server
applications to communicate in a way that is designed to prevent
eavesdropping, tampering, or message forgery.”
GnuTLS provides support for TLS
1.2, TLS 1.1, TLS 1.0, and SSL 3.0 protocols, TLS extensions,
including server name and max record size. Additionally, the
library supports authentication using the SRP protocol, X.509
certificates and OpenPGP keys, along with support for the TLS
Pre-Shared-Keys (PSK) extension, the Inner Application (TLS/IA)
extension and X.509 and OpenPGP certificate handling.
This package is known to build and work properly using an LFS-7.10
platform.
Package Information
GnuTLS Dependencies
Required
Nettle-3.2
Recommended
Certificate Authority
Certificates, libtasn1-4.9 and p11-kit-0.23.2
Optional
Doxygen-1.8.11, GTK-Doc-1.25,
Guile-2.0.12, libidn-1.33,
Net-tools-CVS_20101030 (used during
the test suite), texlive-20160523b or install-tl-unx, Unbound-1.5.9
(to build the DANE library), Valgrind-3.11.0 (used during the test suite),
autogen, datefudge
(used during the test suite), and Trousers
(Trusted Platform Module support)
Note
Note that if you do not install libtasn1-4.9,
an older version shipped in the GnuTLS tarball will be used instead.
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/gnutls
Installation of GnuTLS
Install GnuTLS by running the
following commands:
./configure --prefix=/usr \
--with-default-trust-store-file=/etc/ssl/ca-bundle.crt &&
make
To test the results, issue: make
check. If a prior version of GnuTLS (or the same version but without all of
the recommended dependencies) has been installed, some tests may
fail. If /usr/lib/libgnutls.so
and
the target of that symlink are moved or renamed so that they cannot
be found, all tests should pass and the install procedure will
restore libgnutls.so
and the
versioned library it points to.
Now, as the root
user:
make install
If you did not pass the --enable-gtk-doc
parameter to the configure script, you can install
the API documentation to the /usr/share/gtk-doc/html/gnutls
directory using
the following command as the root
user:
make -C doc/reference install-data-local
Command Explanations
--with-default-trust-store-file=/etc/ssl/ca-bundle.crt
:
This switch tells configure where to find the CA
Certificates.
--enable-gtk-doc
: Use this parameter if
GTK-Doc is installed and you wish
to rebuild and install the API documentation.
--enable-openssl-compatibility
: Use
this switch if you wish to build the OpenSSL compatibility library.
--without-p11-kit
: use this switch if
you have not installed p11-kit.