8.47. OpenSSL-3.1.2

Le paquet OpenSSL contient des outils de gestion et des bibliothèques cryptographiques. Ils servent à fournir des fonctions cryptographiques à d'autres paquets, comme OpenSSH, des applications de messagerie électronique et des navigateurs Internet (pour accéder à des sites HTTPS).

Temps de construction approximatif: 3,0 SBU
Espace disque requis: 587 Mo

8.47.1. Installation d'OpenSSL

Préparez la compilation d'OpenSSL :

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

Compilez le paquet :

make

Pour tester les résultats, exécutez :

make test

Un test, 30-test_afalg.t, est connu pour échouer si le noyau hôte n'a pas activé CONFIG_CRYPTO_USER_API_SKCIPHER ou n'a aucune des options qui fournissent un AES avec l'implémentation CBC (par exemple la combinaison de CONFIG_CRYPTO_AES et CONFIG_CRYPTO_CBC ou CONFIG_CRYPTO_AES_NI_INTEL si le CPU prend AES-NI en charge). S'il échoue, il peut être ignoré sans problème.

Installez le paquet :

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

Ajoutez la version au nom de répertoire de la documentation, pour rester cohérent avec d'autres paquets :

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

Si vous le souhaitez, installez de la documentation supplémentainre :

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

Note

Open SSL doit être mis à jour lorsqu'une nouvelle version corrigeant des vulnérabilités est annoncée. Depuis OpenSSL 3.0.0, les versions d'OpenSSL suivent le schéma MAJEUR.MINEUR.PATCH. La compatibilité d'API/ABI est assurée pour les mêmes numéros de version MAJOR. Comme LFS n'installe que les bibliothèques partagées, vous n'avez pas besoin de recompiler les programmes qui renvoient vers libcrypto.so ni libssl.so lorsque vous mettez à jour vers une version qui a le même numéro MAJOR.

Si OpenSSH est installé, ce sera une exception à la règle de base ci-dessus. Il contient une vérification très restrictive de la version d'OpenSSL, si bien que le client SSH et le serveur SSH refusent de démarrer si OpenSSL est mis à jour sans changement de version MAJEURE mais un changement de version MINEURE. Vous devez reconstruire OpenSSH après ce type de mises à jour. Si vous utilisez OpenSSH pour accéder au système, vous devez le reconstruire et le réinstaller après la mise à jour vers une nouvelle version MINEURE avant de vous déconnecter ou vous ne pourrez plus vous connecter via SSH.

Cependant, tout programme en cours d'exécution lié à ces bibliothèque doit être arrêté et redémarré. Lisez les sections en rapport à ce problème dans Section 8.2.1, « Problèmes de mise à jour » pour plus de détails.

8.47.2. Contenu d'OpenSSL

Programmes installés: c_rehash et openssl
Bibliothèques installées: libcrypto.so et libssl.so
Répertoires installés: /etc/ssl, /usr/include/openssl, /usr/lib/engines et /usr/share/doc/openssl-3.1.2

Descriptions courtes

c_rehash

est un script Perl qui scanne tous les fichiers dans un répertoire et ajoute des liens symboliques vers leur valeur hashée. L'utilisation de c_rehash est considérée comme obsolète et devrait être remplacée par la commande openssl rehash

openssl

est un outil en ligne de commande qui permet d'utiliser les diverses fonctions cryptographiques de la bibliothèque crypto d'OpenSSL depuis le shell. Il peut être utilisé pour diverses fonctions documentées dans man 1 openssl

libcrypto.so

implémente un large éventail d'algorithmes cryptographiques utilisés dans divers standards Internet. Les services fournis par cette bibliothèque sont utilisés par les implémentations OpenSSL de SSL, TLS et S/MIME. Ils ont aussi été utilisés pour implémenter OpenSSH, OpenPGP et d'autres standards de cryptographie

libssl.so

implémente le protocole Transport Layer Security (TLS v1). Elle fournit une API riche, et sa documentation peut être trouvée en lançant man 7 ssl