Introdução ao GnuTLS
O pacote GnuTLS contém bibliotecas
e ferramentas do espaço de usuário(a) que fornecem uma camada
segura sobre uma camada de transporte confiável. Atualmente, a
biblioteca GnuTLS implementa os
padrões propostos pelo grupo de trabalho TLS da IETF. Citando a
especificação do
protocolo TLS 1.3 :
“O TLS permite que
aplicativos cliente/servidor se comuniquem pela Internet de uma
maneira projetada para evitar espionagem, adulteração e
falsificação de mensagens.”
O GnuTLS fornece suporte para os
protocolos TLS 1.3, TLS 1.2, TLS 1.1, TLS 1.0 e (opcionalmente) SSL
3.0. Ele também suporta extensões TLS, incluindo nome do servidor e
tamanho máximo do registro. Além disso, a biblioteca suporta
autenticação usando o protocolo SRP, certificados X.509 e chaves
OpenPGP, junto com suporte para a extensão TLS Pre-Shared-Keys
(PSK), a extensão Inner Application (TLS/IA) e manuseio de
certificados OpenPGP e X.509.
Esse pacote é conhecido por construir e funcionar corretamente
usando uma plataforma LFS 12.2.
Informação do Pacote
-
Transferência (HTTP):
https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.7.1.tar.xz
-
Transferência (FTP):
-
Soma de verificação MD5 da transferência:
46777802233eb7203d47a8b8880c8c90
-
Tamanho da transferência: 6,4 MB
-
Espaço em disco estimado exigido: 154 MB (adicionar 115 MB
para os testes)
-
Tempo de construção estimado: 0,5 UPC (adicionar 1,5 UPC para
testes; ambos usando paralelismo=8)
Nota
Ao extrair esse tarball de pacote, ele expande para o diretório
gnutls-3.8.7, em vez do diretório esperado gnutls-3.8.7.1.
Dependências do GnuTLS
Exigidas
Nettle-3.10
Recomendadas
make-ca-1.14, libunistring-1.2, libtasn1-4.19.0 e p11-kit-0.25.5
Opcionais
Brotli-1.1.0, Doxygen-1.12.0, GTK-Doc-1.34.0, libidn-1.42 ou
libidn2-2.3.7, libseccomp-2.5.5, Net-tools-2.10 (usado durante a suíte de
teste), texlive-20240312 ou install-tl-unx, Unbound-1.21.0
(para construir a biblioteca DANE), Valgrind-3.23.0 (usado durante a suíte de
teste), autogen, cmocka e datefudge
(usado durante a suíte de teste se a biblioteca DANE for
construída) e Trousers (suporte
a Trusted Platform Module)
Nota
Observe que, se você não instalar o libtasn1-4.19.0, [então] uma versão enviada
no tarball GnuTLS será usada em
vez.
Instalação do GnuTLS
Instale GnuTLS executando os
seguintes comandos:
./configure --prefix=/usr \
--docdir=/usr/share/doc/gnutls-3.8.7.1 \
--with-default-trust-store-pkcs11="pkcs11:" &&
make
Um teste trava o procedimento de teste. Desabilite-o: sed '/ocsp-must-staple-connection/d' -i
tests/Makefile. Para testar os resultados, agora
emita: make check.
Agora, instale o pacote como o(a) usuário(a) root
:
make install
Explicações do Comando
--with-default-trust-store-pkcs11="pkcs11:"
:
Essa chave diz ao gnutls para usar o armazenamento de confiança
PKCS #11 como a confiança padrão. Omita essa chave se p11-kit-0.25.5 não estiver instalado.
--with-default-trust-store-file=/etc/pki/tls/certs/ca-bundle.crt
:
Essa chave informa ao configure onde encontrar o pacote
legado de certificados da AC e usá-lo em vez do módulo PKCS #11 por
padrão. Use isso se p11-kit-0.25.5 não estiver instalado.
--enable-gtk-doc
: Use esse parâmetro se
GTK-Doc estiver instalado e você
desejar reconstruir e instalar a documentação da API.
--enable-openssl-compatibility
: Use
essa chave se desejar construir a biblioteca de compatibilidade
OpenSSL.
--without-p11-kit
: use essa chave se
você não tiver instalado o p11-kit.
--with-included-unistring
: usa a versão
empacotada da libunistring, em vez da do sistema. Use essa chave se
você não tiver instalado libunistring-1.2.
--disable-dsa
: desabilita completamente
o suporte ao algoritmo DSA.