GnuTLS-3.8.2

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 1.3 protocol specification :

TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.

GnuTLS provides support for TLS 1.3, TLS 1.2, TLS 1.1, TLS 1.0, and (optionally) SSL 3.0 protocols. It also supports 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.

[注記]

注記

LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS 開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。

パッケージ情報

  • ダウンロード (HTTP): https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.2.tar.xz

  • ダウンロード MD5 sum: 8edaa18bce2a5e7a48d8917352a2ba88

  • ダウンロードサイズ: 6.2 MB

  • 必要ディスク容量: 168 MB (add 114 MB for tests)

  • 概算ビルド時間: 0.7 SBU (add 1.4 SBU for tests; both using parallelism=8)

GnuTLS の依存パッケージ

必須

Nettle-3.9.1

Recommended

任意

Brotli-1.1.0, Doxygen-1.9.8, GTK-Doc-1.33.2, libidn-1.41 or libidn2-2.3.4, libseccomp-2.5.5, Net-tools-2.10 (used during the test suite), texlive-20230313 or install-tl-unx, Unbound-1.19.0 (to build the DANE library), Valgrind-3.22.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)

[注記]

注記

libtasn1-4.19.0 をインストールしない場合、GnuTLS の tarball 内に含まれるバージョンが利用されます。

GnuTLS のインストール

以下のコマンドを実行して GnuTLS をビルドします。

./configure --prefix=/usr \
            --docdir=/usr/share/doc/gnutls-3.8.2 \
            --with-default-trust-store-pkcs11="pkcs11:" &&
make

ビルド結果をテストする場合は make check を実行します。

root ユーザーになって以下を実行します。

make install

コマンド説明

--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.25.3 is not installed.

--with-default-trust-store-file=/etc/pki/tls/certs/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.25.3 is not installed.

--enable-gtk-doc: GTK-Doc をインストール済で API ドキュメントを再構築する場合に指定します。

--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-1.1.

パッケージ構成

インストールプログラム: certtool, danetool, gnutls-cli, gnutls-cli-debug, gnutls-serv, ocsptool, p11tool, psktool, srptool
インストールライブラリ: libgnutls.so, libgnutls-dane.so, libgnutlsxx.so, libgnutls-openssl.so (optional), /usr/lib/guile/3.0/extensions/guile-gnutls-v-2.so
インストールディレクトリ: /usr/include/gnutls, /usr/lib/guile/3.0/site-ccache/gnutls, /usr/share/guile/site/3.0/gnutls, /usr/share/doc/gnutls-3.8.2

概略説明

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