Installer OpenSSL sous Linux

OpenSSL est une boite à outils open source qui implémente SSL/TLS ainsi qu'une bibliothèque de cryptographie.

L'objectif de cette note est d'installer OpenSSL sur un serveur Linux.

Logiciels utilisés : OpenSSL 1.0.0

Système d'exploitation : Debian  5.0, Linux 2.6.34

1 – Pré-requis

Des outils de compilation : make et g++. Ainsi que gnupg pour la vérification du package. Etant sur Debian, j'utilise apt-get pour les récupérer :

$ apt-get install g++ make gnupg

Je vous invite à vous rendre sur cette page pour récupérer le lien de la dernière version stable d'OpenSSL: http://www.openssl.org/source/

Et on récupère le package qui va bien, ainsi que les fichiers nécessaires à la vérification du package (intégrité et authenticité) :

$ cd ~
$ wget http://www.openssl.org/source/openssl-1.0.0c.tar.gz
$ wget http://www.openssl.org/source/openssl-1.0.0c.tar.gz.asc
$ wget http://www.openssl.org/source/openssl-1.0.0c.tar.gz.sha1

2 – Vérifier le package

Avant d'aller plus loin, il faut s'assurer que d'une part le package n'est pas altéré, et d'autre part qu'il est authentique, c'est à dire qu'il n'a pas été détourné par un tiers.

Nous utiliserons deux outils pour cela : sha1sum pour l'intégrité et gnupg pour l'authenticité.

2.1 – Intégrité

L'intégrité du package se vérifie grâce au programme sha1sum, qui va comparer le hash SHA1 du package avec le hash SHA1 récupéré sur le site d'OpenSSL :

$ sha1sum openssl-1.0.0a.tar.gz | awk '{print $1}' | cmp - openssl-1.0.0a.tar.gz.sha1

Si pas de message, c'est bon !

2.2 – Authenticité

L'authenticité du package se vérifie grâce au programme gnupg, qui va vérifier la signature du package (fichier openssl*.asc) avec une des clés publique présente sur le site d'OpenSSL. On va par exemple prendre la clé F295C759. Le contenu est à récupérer ici (en commençant à ---BEGIN) : http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xA2D29B7BF295C759

$ vi openssl_pubkeyF295C759

Y mettre le contenu précédemment récupéré. On importe ensuite la clé et on vérifie le package :

$ gpg --import openssl_pubkeyF295C759
gpg: clé F295C759: « Dr Stephen Henson <shenson@drh-consultancy.co.uk> » n'a pas changé
gpg:        Quantité totale traitée: 1
gpg:                      inchangée: 1
$ gpg --verify openssl-1.0.0c.tar.gz.asc openssl-1.0.0c.tar.gz
gpg: Signature faite le mar 01 jun 2010 15:42:23 CEST avec la clé RSA ID F295C759
gpg: Bonne signature de « Dr Stephen Henson <shenson@drh-consultancy.co.uk> »
gpg:                 alias « Dr S N Henson <shenson@drh-consultancy.demon.co.uk> »
gpg:                 alias « Dr Stephen Henson <stephen.henson@opennetworksecurity.com> »
gpg: ATTENTION: Cette clé n'est pas certifiée avec une signature de confiance !
gpg:            Rien ne dit que la signature appartient à son propriétaire.
Empreinte de clé principale: D0 5D 8C 61 6E 27 E6 60  41 EC B1 B8 D5 7E E5 97

Le "ATTENTION" indique simplement que la clé utlisée n'est pas certifiée par un tiers de confiance. Si vous n'avez pas confiance, vous pouvez toujours contacter la personne par téléphone pour s'assurer avec elle que vous possédez bien sa clé … (sisi !)

3 – Compiler et installer

Une fois le package d'OpenSSL récupéré et vérifié on le décompresse dans le répertoire /usr/local/src :

$ tar xvzf openssl-1.0.0c.tar.gz -C /usr/local/src
$ cd /usr/local/src/openssl-1.0.0c/

On peut maintenant configurer, compiler et installer

$ ./config --prefix=/usr/local/openssl
$ make
$ make install

Voilà, c'est installé !

4 – Modifier le PATH

Afin de pouvoir utiliser les commandes fournies par OpenSSL sans avoir à retaper toute l'arborescence, nous allons modifier la variable PATH des utilisateurs :

$ echo -e "openssl=/usr/local/ssl/bin\nPATH=\$PATH:\$openssl" >> /etc/profile
$ . /etc/profile

5 – Tester

Pour le test on va juste afficher la version d'OpenSSL qui vient d'être installé :

$ openssl version
OpenSSL 1.0.0c 2 Dec 2010

Et voilà pour cette note sur l'installation d'OpenSSL sous Linux.

7 pensées sur “Installer OpenSSL sous Linux”

    1. Vous avez juste à recopier la ligne du point 4, cette ligne stockée dans le fichier profile permet de modifier la variable PATH des utilisateurs 🙂

  1. il vaut mieux ceci:
    ./config –prefix=/usr/local/
    le but étant de mettre a jour /usr/local/bin &&
    /usr/local/include && /usr/local/lib && /usr/local/ssl

  2. Bonjour,

    Merci pour votre explication. Simple et bien documentée. Tout s’est bien passé, mais quand je vérifie la version, je suis toujours en version 0.9.8g, alors que j’ai installé la version 1.0.2g.
    Une idée? Merci d’avance.
    DD

Laisser un commentaire