376 votes

Comment installer les bibliothèques OpenSSL sur Ubuntu ?

J'essaie de construire un code sur Ubuntu 10.04 LTS qui utilise OpenSSL 1.0.0. Lorsque je lance make, il invoque g++ avec l'option "-lssl". La source comprend :

#include <openssl/bio.h>
#include <openssl/buffer.h>
#include <openssl/des.h>
#include <openssl/evp.h>
#include <openssl/pem.h>
#include <openssl/rsa.h>

J'ai couru :

$ sudo apt-get install openssl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
openssl is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

Mais je suppose que le paquet openssl n'inclut pas la bibliothèque. J'obtiens ces erreurs sur make :

foo.cpp:21:25: error: openssl/bio.h: No such file or directory
foo.cpp:22:28: error: openssl/buffer.h: No such file or directory
foo.cpp:23:25: error: openssl/des.h: No such file or directory
foo.cpp:24:25: error: openssl/evp.h: No such file or directory
foo.cpp:25:25: error: openssl/pem.h: No such file or directory
foo.cpp:26:25: error: openssl/rsa.h: No such file or directory

Comment installer la bibliothèque OpenSSL C++ sur Ubuntu 10.04 LTS ?

J'ai fait un man g++ et (sous "Options for Linking") pour l'option -l il est indiqué : " L'éditeur de liens recherche une liste standard de répertoires pour la bibliothèque... " et " Les répertoires recherchés comprennent plusieurs répertoires système standard... ". Quels sont ces répertoires système standard ?

2 votes

Pas tout à fait un doublon, mais répondu par Que sont les paquets *-devel ? .

0 votes

Vous avez raison au sujet de la -dev convention de dénomination. Vous pouvez également utiliser l'option synaptic pour lister tous les paquets dont le nom contient libssl - parcourir cette liste et leurs descriptions vous donnera probablement l'indice.

1 votes

Je sais que cette question n'est plus d'actualité, mais comme je l'ai trouvée récemment, je me suis dit que quelqu'un d'autre pourrait en faire autant. Si vous voulez lister tous les paquets qui sont similaires à un certain nom, j'aime utiliser >aptitude search <STRING> Il ne nécessite pas de niveau de privilège Root pour lancer une recherche.

774voto

Niki Yoshiuchi Points 7822

Vous voulez installer le paquet de développement, qui est libssl-dev :

sudo apt-get install libssl-dev

1 votes

Mais ce n'est pas la version qu'il voulait (1.0.0), qui n'est pas packagée pour 10.04. Voir cette réponse pour la version 1.0.0 : stackoverflow.com/questions/3153114/

0 votes

Ah, bien vu. J'ai seulement remarqué sur le moment qu'il essayait d'utiliser les bibliothèques de développement mais qu'il n'installait pas le paquet -dev. Je n'ai même pas remarqué le numéro de version.

0 votes

C'est la bonne référence ici : technologyskill.ga/install-openssl-manually-on-linux o howtoforge.com/tutorial/ Les bibliothèques et les fichiers d'en-tête se trouvent dans le même répertoire après l'installation : /usr/local/ssl

69voto

Yann Ramin Points 25139

Cours :

apt-get install libssl-dev

36voto

jessuppi Points 91

Toutes ces réponses sont très obsolètes et datent de l'époque où le paquet était encore en cours de développement. Vous pouvez maintenant utiliser la commande "normale" indiquée ci-dessous :

sudo apt install openssl

22voto

Mann Points 81

J'ai trouvé une solution détaillée ici : Installer OpenSSL manuellement sous Linux

Extrait de l'article du blog... :

Les étapes pour télécharger, compiler et installer sont les suivantes (j'installe la version 1.0.1g ci-dessous ; veuillez remplacer "1.0.1g" par votre numéro de version) :

Étape - 1 : Téléchargement d'OpenSSL :

Exécutez la commande comme ci-dessous :

$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz

Vous pouvez également télécharger le hachage MD5 pour vérifier l'intégrité du fichier téléchargé à des fins de vérification. Dans le même dossier où vous avez téléchargé le fichier OpenSSL à partir du site Web :

$ wget http://www.openssl.org/source/openssl-1.0.1g.tar.gz.md5
$ md5sum openssl-1.0.1g.tar.gz
$ cat openssl-1.0.1g.tar.gz.md5

Étape - 2 : Extraire les fichiers du paquet téléchargé :

$ tar -xvzf openssl-1.0.1g.tar.gz

Maintenant, entrez dans le répertoire où le paquet est extrait comme ici openssl-1.0.1g

$ cd openssl-1.0.1g

Étape - 3 : Configuration d'OpenSSL

Exécutez la commande ci-dessous avec une condition optionnelle pour définir le préfixe et le répertoire où vous voulez copier les fichiers et les dossiers.

$ ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl

Vous pouvez remplacer "/usr/local/openssl" par le chemin du répertoire où vous souhaitez copier les fichiers et les dossiers. Mais assurez-vous de vérifier l'absence de message d'erreur sur le terminal pendant que vous effectuez ces étapes.

Étape - 4 : Compilation d'OpenSSL

Pour compiler openssl, vous devez exécuter 2 commandes : make, make install comme ci-dessous :

$ make

Remarque : vérifiez l'absence de tout message d'erreur à des fins de vérification.

Étape -5 : Installation d'OpenSSL :

$ sudo make install

Ou sans sudo,

$ make install

C'est ça. OpenSSL a été installé avec succès. Vous pouvez exécuter la commande version pour voir si cela a fonctionné ou non comme ci-dessous :

$ /usr/local/openssl/bin/openssl version

OpenSSL 1.0.1g 7 Apr 2014

19voto

Steve Lemke Points 124

Comment aurais-je pu comprendre que pour moi-même (autrement qu'en posant cette question ici) ? Puis-je d'une manière ou d'une autre dire à apt-get de lister tous les paquets et de rechercher pour ssl ? Ou ai-je besoin de connaître la convention de dénomination "lib*-dev" ?

Si vous êtes en lien avec -lfoo alors la bibliothèque est susceptible libfoo.so . La bibliothèque elle-même fait probablement partie de la libfoo et les en-têtes sont dans le paquet libfoo-dev comme vous l'avez découvert.

Certaines personnes utilisent l'application GUI "synaptic" ( sudo synaptic ) pour (localiser et) installer des paquets, mais je préfère utiliser la ligne de commande. Une chose qui rend plus facile la recherche du bon paquetage à partir de la ligne de commande est le fait que apt-get supporte la complétion bash.

Essayez de taper sudo apt-get install libssl et puis appuyez sur tab pour afficher une liste des noms de paquets correspondants (ce qui peut être utile lorsque vous devez sélectionner la bonne version d'un paquet dont plusieurs versions ou autres variantes sont disponibles).

La complétion de Bash est en fait très utile... par exemple, vous pouvez aussi obtenir une liste de commandes qui apt-get en tapant sudo apt-get puis de frapper tab .

0 votes

Ubuntu pourrait soulager la douleur des gens puisque c'est un problème depuis des années. Ils podría alias openssl-dev a libssl-dev mais ils choisissent de ne pas le faire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X