Bibliothèques générales

Les bibliothèques contiennent du code qui est souvent requis par plus d'un programme. Ceci a l'avantage que chaque programme n'a pas besoin de dupliquer du code (et donc de risquer d'introduire des bugs), ils ont juste à appeler les fonctions des bibliothèques installées sur le système. L'exemple le plus parlant est glibc qui est installée avec le livre LFS. Elle contient toutes les fonctions des bibliothèques C que les programmes utilisent.

Il existe deux types de bibliothèques, statiques et partagées. Les bibliothèques partagées (généralement libXXX.so) sont chargées en mémoire à partir de la copie partagée au lancement (d'où le nom). Les bibliothèques statiques (libXXX.a) sont liées dans l'exécutable lui-même, rendant le fichier du programme plus gros. Assez souvent, vous trouverez les deux copies, statique et partagée, de la même bibliothèque sur votre système.

Généralement, vous avez juste besoin d'installer des bibliothèques quand vous installez des logiciels qui réclament les fonctionnalités que celles-ci procurent. Dans le livre BLFS, chaque package est affiché avec une liste des dépendances (connues). Donc, vous pouvez savoir quelles bibliothèques vous avez besoin avant d'installer le programme. Si vous installez quelque chose sans utiliser les instructions BLFS, les fichiers README ou INSTALL contiennent habituellement les détails des prérequis des programmes.

Il existe certaines bibliothèques qu'à peu près tout le monde a besoin à un moment ou à un autre. Dans ce chapitre, nous en faisons la liste, ainsi que quelques autres, et vous expliquons pourquoi vous pourriez vouloir les installer.

openssl-0.9.7d

Introduction à OpenSSL

Le package OpenSSL contient des outils de gestion et des bibliothèques en relation avec la cryptographie. Ils sont utiles car ils apportent des fonctions de cryptographie aux autres packages, notamment pour OpenSSH et pour les navigateurs web (ce qui permet d'accéder à des sites sécurisés en https).

Information sur le package

Installation de OpenSSL

Installez OpenSSL en lançant les commandes suivantes:

sed 's/^passwd/openssl-passwd/' doc/apps/passwd.pod \
    > doc/apps/openssl-passwd.pod &&
rm doc/apps/passwd.pod &&
mv doc/crypto/{,openssl_}threads.pod &&
sed -i -e 's/-m486/-march=i486/' Configure &&
./config --openssldir=/etc/ssl --prefix=/usr shared &&
make MANDIR=/usr/share/man &&
make MANDIR=/usr/share/man install &&
cp -r certs /etc/ssl &&
rmdir /etc/ssl/lib

Explications des commandes

no-rc5 no-idea : Une fois ajoutée à la commande ./config, ceci éliminera la construction de ces méthodes de cryptage. Les licences en question peuvent vous être nécessaire pour que vous puissiez les utiliser dans vos projets.

rm doc/apps/passwd.pod : Cette commande empêche OpenSSL d'écraser la page man passwd existante par sa propre page man.

mv doc/crypto/{,openssl_}threads.pod: cette commande empêche OpenSSL d'écraser une page man existante provenant de Perl.

sed -i -e 's/-m486/-march=i486/' Configure: GCC affiche un message d'attention pour chaque compilation parce que la commande Configure utilise le paramètre -m486 obsolète, contrairement à -march=i486.

make MANDIR=/usr/share/man
make MANDIR=/usr/share/man install

: Ces commandes installent OpenSSL avec les pages man dans /usr/share/man au lieu de /etc/ssl/man, par défaut.

cp -r certs /etc/ssl: Ces certificats doivent être copiés manuellement car le script d'installation oublie cette étape.

rmdir /etc/ssl/lib : Il s'agit d'une simple commande de ménage. Pour une raison inconnue, la routine d'installation d'OpenSSL crée le répertoire >/etc/ssl/lib même si les bibliothèques ont été installées dans /usr/lib. Nous le supprimons pour garder les choses jolies et bien rangées!

Configurer OpenSSL

Fichier de configuration

/etc/ssl/openssl.cnf

Informations de configuration

La plupart des gens, qui veulent juste utiliser openssl pour procurer des fonctions aux autres programmes comme OpenSSH et les navigateurs web, n'auront pas à s'embêter avec la configuration d'OpenSSL. Configurer OpenSSL est un thème avancé et donc, ceux qui ont à le faire sont soit capables de le faire, soit capables de trouver comment le faire.

Contenu

Le package OpenSSL contient c_rehash, openssl, et les bibliothèques libcrypto et libssl.

Description

c_rehash

c_rehash est un script Perl qui recherche tous les fichiers d'un répertoire et ajoute des liens symboliques vers leur valeurs hachés.

openssl

Le programme openssl est un outil en ligne de commande pour utiliser les différentes fonctions de cryptographie de la bibliothèque d'OpenSSL à partir du shell. Il peut être utilisé pour différentes fonctions, documentées dans man 1 openssl.

libcrypto

La bibliothèque crypto d'OpenSSL implémente une grande variété d'algorithmes de cryptographie, utilisés dans de nombreux standards Internet. Les services proposés par cette bibliothèque sont utilisés par les implémentations OpenSSL de SSL, TLS et S/MIME, et ils sont aussi utilisés pour implémenter OpenSSH, OpenPGP et d'autres standards cryptographiques.

libssl

La bibliothèque ssl d'OpenSSL implémente les protocoles 'Secure Sockets Layer' (SSL v2/v3) et 'Transport Layer Security' (TLS v1). Elle apporte une API riche dont la documentation est disponible en lançant man 3 ssl.