GnuTLS-3.5.19
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-8.3
platform.
Package Information
GnuTLS Dependencies
Required
Nettle-3.4
Recommended
make-ca-0.8, libunistring-0.9.10, libtasn1-4.13, and p11-kit-0.23.13
Optional
Doxygen-1.8.14, GTK-Doc-1.28,
Guile-2.2.4, libidn-1.35 or
libidn2-2.0.5 Net-tools-CVS_20101030 (used during
the test suite), texlive-20180414 or install-tl-unx, Unbound-1.7.3
(to build the DANE library), Valgrind-3.13.0 (used during the test suite),
autogen, cmocka and datefudge
(used during the test suite if the DANE library is built), and
Trousers (Trusted
Platform Module support)
Note
Note that if you do not install libtasn1-4.13, 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-pkcs11="pkcs11:" &&
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 passed --enable-gtk-doc
to the
configure script, the
API will automatically be installed. Otherwise, if desired, you can
still 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-pkcs11="pkcs11:"
:
This switch tells gnutls to use the PKCS #11 trust store as the
default trust. Omit this switch if p11-kit-0.23.13 is not
installed.
--with-default-trust-store-file=/etc/ssl/ca-bundle.crt
:
This switch tells configure where to find the
legacy CA certificate bundle and to use it instead of PKCS #11
module by default. Use this if p11-kit-0.23.13 is not installed.
--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.
--with-included-unistring
: uses the
bundled version of libunistring, instead of the system one. Use
this switch if you have not installed libunistring-0.9.10.
Contents
Installed Programs:
certtool, danetool, gnutls-cli,
gnutls-cli-debug, gnutls-serv, ocsptool, p11tool, psktool, and
srptool
Installed Libraries:
libgnutls.so, libgnutls-dane.so,
libgnutlsxx.so, libgnutls-openssl.so (optional), and
/usr/lib/guile/2.2/guile-gnutls-v-2.so
Installed Directories:
/usr/{include,share/gtk-doc/html,share/guile/site/2.2}/gnutls
Short Descriptions
certtool
|
is used to generate X.509 certificates, certificate
requests, and private keys.
|
danetool
|
is a tool used to generate and check DNS resource records
for the DANE protocol.
|
gnutls-cli
|
is a simple client program to set up a TLS connection to
some other computer.
|
gnutls-cli-debug
|
is a simple client program to set up a TLS connection to
some other computer and produces very verbose progress
results.
|
gnutls-serv
|
is a simple server program that listens to incoming TLS
connections.
|
ocsptool
|
is a program that can parse and print information about
OCSP requests/responses, generate requests and verify
responses.
|
p11tool
|
is a program that allows handling data from PKCS #11
smart cards and security modules.
|
psktool
|
is a simple program that generates random keys for use
with TLS-PSK.
|
srptool
|
is a simple program that emulates the programs in the
Stanford SRP (Secure Remote Password) libraries using
GnuTLS.
|
libgnutls.so
|
contains the core API functions and X.509 certificate API
functions.
|
Last updated on 2018-08-14 19:39:38 -0700