8.47. OpenSSL-3.1.2

O pacote OpenSSL contém ferramentas de gerenciamento e bibliotecas relacionadas à criptografia. Essas são úteis para fornecer funções criptográficas para outros pacotes, tais como o OpenSSH, aplicativos de correio eletrônico e navegadores de rede (para acessar sítios HTTPS).

Tempo aproximado de construção: 3,0 UPC
Espaço em disco exigido: 587 MB

8.47.1. Instalação do OpenSSL

Prepare OpenSSL para compilação:

./config --prefix=/usr         \
         --openssldir=/etc/ssl \
         --libdir=lib          \
         shared                \
         zlib-dynamic

Compile o pacote:

make

Para testar os resultados, emita:

make test

Um teste, 30-test_afalg.t, é conhecido por falhar se o núcleo do anfitrião não tiver CONFIG_CRYPTO_USER_API_SKCIPHER habilitado ou não tiver quaisquer opções fornecendo um AES com implementação CBC (por exemplo, a combinação de CONFIG_CRYPTO_AES e CONFIG_CRYPTO_CBC; ou CONFIG_CRYPTO_AES_NI_INTEL se a CPU suportar AES-NI) habilitado. Se falhar, pode ser seguramente ignorado.

Instale o pacote:

sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
make MANSUFFIX=ssl install

Adicione a versão ao nome de diretório de documentação, para ser consistente com outros pacotes:

mv -v /usr/share/doc/openssl /usr/share/doc/openssl-3.1.2

Se desejado, instale alguma documentação adicional:

cp -vfr doc/* /usr/share/doc/openssl-3.1.2
[Nota]

Nota

Você deveria atualizar o OpenSSL quando uma versão nova que corrige vulnerabilidades for anunciada. Desde o OpenSSL 3.0.0, o esquema de versionamento do OpenSSL segue o formato MAIOR.MENOR.REMENDO. Compatibilidade de API/ABI é garantida para o mesmo número de versão MAIOR. Por causa de que o LFS instala somente as bibliotecas compartilhadas, não existe necessidade de recompilar pacotes que se vinculem à libcrypto.so ou à libssl.so quando atualizar para uma versão com o mesmo número de versão MAIOR.

Se OpenSSH estiver instalado, será uma exceção à regra geral acima. Ele contém uma verificação de versão OpenSSL excessivamente restritiva, de modo que o cliente SSH e o servidor SSH se recusarão a iniciar se o OpenSSL for atualizado com o número da versão MAIOR inalterado, mas o número da versão MENOR mudado. Você precisa reconstruir o OpenSSH depois de tal atualização. Se OpenSSH estiver sendo usado para acessar o sistema, você precisa reconstruí-lo e reinstalá-lo depois de atualizar o OpenSSL para um novo número de versão MENOR antes de sair ou você não mais poderia se logar via SSH.

Entretanto, quaisquer aplicativos em execução vinculados àquelas bibliotecas precisam ser parados e reiniciados. Leiam-se as entradas relacionadas em Seção 8.2.1, “Problemas de Atualização” para detalhes.

8.47.2. Conteúdo do OpenSSL

Aplicativos instalados: c_rehash e openssl
Bibliotecas instaladas: libcrypto.so e libssl.so
Diretórios instalados: /etc/ssl, /usr/include/openssl, /usr/lib/engines e /usr/share/doc/openssl-3.1.2

Descrições Curtas

c_rehash

é um script Perl que escaneia todos os arquivos em um diretório e adiciona links simbólicos para os valores de hash deles. O uso do c_rehash é considerado obsoleto e deveria ser substituído pelo comando openssl rehash

openssl

é uma ferramenta de linha de comando para usar as várias funções criptográficas da biblioteca de criptografia do OpenSSL a partir do shell. Ela pode ser usada para várias funções que estão documentadas em man 1 openssl

libcrypto.so

implementa um intervalo amplo de algoritmos criptográficos usados em vários padrões da Internet. Os serviços fornecidos por essa biblioteca são usados pelas implementações OpenSSL do SSL, TLS e S/MIME e eles também tem sido usados para implementar OpenSSH, OpenPGP e outros padrões criptográficos

libssl.so

implementa o protocolo Transport Layer Security (TLS v1). Ela fornece uma API rica, documentação a respeito da qual pode ser encontrada executando man 7 ssl