Como instalo as bibliotecas OpenSSL no Ubuntu?

Estou a tentar criar um código no Ubuntu 10.04 LTS que usa o OpenSSL 1.0.0. Quando eu executar o make, ele invoca o g++ com a opção"- lssl". A fonte inclui:

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

eu corri:

$ 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.
Mas acho que o pacote openssl não inclui a biblioteca. Eu tenho estes erros em fazer:

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

Como instalo a biblioteca C++ OpenSSL no Ubuntu 10.04 LTS?

eu fiz um man g++ e (sob "opções de ligação") para a opção-l diz: "o linker procura uma lista padrão de directórios para a biblioteca..."e" os diretórios pesquisados incluem vários diretórios do sistema padrão..."O que são esses diretórios de sistema padrão?

Author: jww, 2010-06-10

9 answers

Você quer instalar o pacote de desenvolvimento, que é a libssl-dev:

sudo apt-get install libssl-dev
 556
Author: Niki Yoshiuchi, 2010-06-10 17:43:32

Corra:

apt-get install libssl-dev

 38
Author: Yann Ramin, 2020-11-06 13:01:36
Como é que eu descobri isso? eu mesmo (além de perguntar isso pergunta aqui)? Posso de alguma forma dizer apt-get para listar todos os pacotes, e grep para a ssl? Ou preciso de saber "lib * - dev" naming convention?

Se estás a ligar-te a {[[0]} então a Biblioteca é provavelmente libfoo.so. A biblioteca em si é provavelmente parte do pacote libfoo, e os cabeçalhos estão no Pacote libfoo-dev Como você descobriu.

Algumas pessoas usam a aplicação "sináptica" GUI. (sudo synaptic) para (localizar e) instalar pacotes, mas eu prefiro usar a linha de comandos. Uma coisa que torna mais fácil encontrar o pacote certo a partir da linha de comandos é o fato de que apt-get suporta a conclusão da bash.

Tente escrever sudo apt-get install libssl e depois carregue em tab para ver uma lista com os nomes dos pacotes correspondentes (o que poderá ajudar quando precisar de seleccionar a versão correcta de um pacote que tenha várias versões ou outras variações disponíveis).

A conclusão da Bash é muito útil... por exemplo, você também pode obter uma lista de comandos que apt-get suporta escrevendo sudo apt-get e depois Carregando tab.
 16
Author: Steve Lemke, 2018-09-23 13:39:48

Encontrei uma solução detalhada aqui: instale OpenSSL manualmente no Linux

do blog post...:

Os passos para baixar, compilar e instalar são os seguintes (estou a instalar a versão 1.0.1 G abaixo; por favor substitua "1.0.1 g" pelo seu número de versão):

Passo – 1: A Transferir O OpenSSL:

Execute o comando da seguinte forma:

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

Além disso, descarregue a hash MD5 para verificar a integridade do arquivo baixado apenas para fins de varifacação. Na mesma pasta onde descarregou o ficheiro OpenSSL do sítio 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

Step-2 : extrair os ficheiros do pacote Transferido:

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

Agora, indique a pasta onde o pacote é extraído, como aqui está o openssl-1.0, 1 g

$ cd openssl-1.0.1g

Passo-3: OpenSSL De Configuração

Executar por baixo do comando com uma condição opcional para definir o prefixo e a pasta onde deseja copiar os ficheiros e pastas.

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

Poderá substituir "/usr / local / openssl" pela localização da pasta onde deseja copiar os ficheiros e pastas. Mas certifique-se ao fazer este passo verificar para qualquer mensagem de erro no terminal.

Passo-4: Compilação Do OpenSSL

Para compilar o openssl, terá de executar o comando 2: make, make install como em baixo :

$ make

Nota: Verifique se existe qualquer mensagem de erro para fins de verificação.

Passo-5: A Instalar O OpenSSL:

$ sudo make install

Ou sem o sudo,

$ make install

É isso. O OpenSSL foi instalado com sucesso. Você pode executar o comando de versão para ver se funcionou ou não como abaixo:

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

OpenSSL 1.0.1g 7 Apr 2014

 8
Author: Mann, 2020-02-19 10:45:32

Outra forma de instalar a biblioteca openssl a partir do código-fonte no Ubuntu, segue os passos abaixo, aqui WORKDIR é a sua pasta de trabalho:

sudo apt-get install pkg-config
cd WORKDIR
git clone https://github.com/openssl/openssl.git
cd openssl
./config
make
sudo make install
# Open file /etc/ld.so.conf, add a new line: "/usr/local/lib" at EOF
sudo ldconfig
 6
Author: B.H Xie, 2018-11-04 10:20:45

Tu queres o pacote {[[0]}. Pelo menos acho que é no Ubuntu. Pode ser. É um dos dois.

 4
Author: jonescb, 2019-01-30 09:16:20

Como regra geral, quando no Debian ou Ubuntu e lhe faltar um ficheiro de desenvolvimento (ou qualquer outro ficheiro para esse efeito), use apt-file para descobrir qual pacote fornece esse ficheiro:

~ apt-file search openssl/bio.h
android-libboringssl-dev: /usr/include/android/openssl/bio.h
libssl-dev: /usr/include/openssl/bio.h
libwolfssl-dev: /usr/include/cyassl/openssl/bio.h
libwolfssl-dev: /usr/include/wolfssl/openssl/bio.h

Uma rápida olhada em cada um dos pacotes que são devolvidos pelo comando, usando apt show irá dizer - lhe qual dos pacotes é o que você está procurando:

~ apt show libssl-dev
Package: libssl-dev
Version: 1.1.1d-2
Priority: optional
Section: libdevel
Source: openssl
Maintainer: Debian OpenSSL Team <[email protected]>
Installed-Size: 8,095 kB
Depends: libssl1.1 (= 1.1.1d-2)
Suggests: libssl-doc
Conflicts: libssl1.0-dev
Homepage: https://www.openssl.org/
Tag: devel::lang:c, devel::library, implemented-in::TODO, implemented-in::c,
 protocol::ssl, role::devel-lib, security::cryptography
Download-Size: 1,797 kB
APT-Sources: http://ftp.fr.debian.org/debian unstable/main amd64 Packages
Description: Secure Sockets Layer toolkit - development files
 This package is part of the OpenSSL project's implementation of the SSL
 and TLS cryptographic protocols for secure communication over the
 Internet.
 .
 It contains development libraries, header files, and manpages for libssl
 and libcrypto.

N: There is 1 additional record. Please use the '-a' switch to see it
 0
Author: Vincent Fourmond, 2020-01-25 13:15:12
  1. Vá para o site oficial e baixe o código fonte para a versão que você precisa

  2. Depois, desaperte o pacote de actualização e execute o seguinte comando

    ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl  -Wl,-rpath,/usr/local/ssl/lib shared
    

Porque o valor por omissão é gerar apenas bibliotecas estáticas, se quiser bibliotecas dinâmicas, adicione a opção "partilhada"

  1. make && make install
 0
Author: JK.Tang, 2020-07-23 07:48:34

sudo apt-get install libcurl4-openssl-dev

 -3
Author: Nursnaaz, 2019-01-25 07:02:53