Cómo instalar OpenSSL desde la fuente en CentOS y Ubuntu


OpenSSL es una biblioteca de software con todas las funciones que contiene una implementación de código abierto de los protocolos Transport Layer Security (TLS) y Secure Sockets Layer (SSL), que se utilizan para proteger la información transmitida a través de redes informáticas.

Es una biblioteca de criptografía de propósito general y admite varios algoritmos criptográficos diferentes, incluidos AES, Blowfish; Funciones hash criptográficas MD5, MD4, SHA-1, SHA-2; RSA, DSA, intercambio de claves Diffie-Hellman, curva elíptica y muchos otros.

En este artículo, explicaremos cómo instalar la última versión estable de OpenSSL de fuentes en distribuciones basadas en CentOS y Ubuntu.

Paso 1: instalar herramientas de desarrollo

1. Para compilar OpenSSL manualmente desde las fuentes, primero debe instalar algunas dependencias como "Herramientas de desarrollo" en RHEL/CentOS/Fedora o "build-essential" en Debian/Ubuntu como se muestra.

------------------- On CentOS, RHEL & Fedora ------------------- 
# yum group install 'Development Tools' && yum install perl-core libtemplate-perl zlib-devel 

------------------- On Ubuntu & Debian -------------------
$ sudo apt update && apt install build-essential checkinstall zlib1g-dev libtemplate-perl

Paso 2: compile OpenSSL a partir de fuentes

2. A continuación, descargue la última versión estable de OpenSSL (v1.0.2 en el momento de escribir este artículo, que es una versión de soporte a largo plazo (LTS), compatible hasta el 31 de diciembre de 2019), desde la página de descarga utilizando el siguiente comando tar.

$ wget -c https://www.openssl.org/source/openssl-1.0.2p.tar.gz
$ tar -xzvf openssl-1.0.2p.tar.gz

3. Ahora, muévase al directorio extraído, configure, compile, después de una compilación exitosa, pruebe las bibliotecas e instale OpenSSL en la ubicación predeterminada, que es/usr/local/ssl, ejecutando los siguientes comandos.

$ cd openssl-1.0.2p/
$ ./config
$ make
$ make test
$ sudo make install 

4. Una vez que haya instalado OpenSSL con éxito, puede pasar al directorio de instalación y ver los varios subdirectorios y archivos usando el comando ls.

$ cd /usr/local/ssl/
$ ls -l

drwxr-xr-x. 2 root root  4096 Aug 22 06:37 bin
drwxr-xr-x. 2 root root  4096 Aug 22 06:37 certs
drwxr-xr-x. 3 root root  4096 Aug 22 06:37 include
drwxr-xr-x. 4 root root  4096 Aug 22 06:37 lib
drwxr-xr-x. 6 root root  4096 Aug 22 06:36 man
drwxr-xr-x. 2 root root  4096 Aug 22 06:37 misc
-rw-r--r--. 1 root root 10835 Aug 22 06:37 openssl.cnf
drwxr-xr-x. 2 root root  4096 Aug 22 06:37 private

Los siguientes son directorios importantes que debe tener en cuenta:

  • bin: contiene el binario openssl y algunos scripts de utilidad.
  • include/openssl: contiene los archivos de encabezado necesarios para crear sus propios programas que usan libcrypto o libssl.
  • lib: contiene los archivos de la biblioteca OpenSSL.
  • lib/motors: contiene los motores cargables dinámicamente de OpenSSL.
  • man: contiene las páginas de manual de OpenSSL.
  • share/doc/openssl/html: contiene una interpretación HTML de las páginas de manual.
  • certs: la ubicación predeterminada para los archivos de certificado.
  • privado: la ubicación predeterminada para los archivos de clave privada.

5. Para comprobar la versión de OpenSSL que acaba de instalar, ejecute el siguiente comando.

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

OpenSSL 1.0.2p  14 Aug 2018

6. Para usar la versión de OpenSSL recién instalada en su sistema, necesita agregar el directorio/usr/local/ssl/bin/a su PATH, en el archivo ~/.bashrc (o el equivalente para su shell).

$ vim ~/.bashrc

Agregue esta línea al final del archivo.

export PATH="/usr/local/ssl/bin:${PATH}"

Guarde y cierre el archivo y vuelva a cargar la configuración usando el siguiente comando.

$ source .bashrc

7. Ahora abra una nueva ventana de terminal y ejecute los siguientes comandos para confirmar que el nuevo binario OpenSSL se encuentra en su PATH y que puede ejecutarlo sin escribir su ruta completa.

$ whereis openssl

openssl: /usr/bin/openssl /usr/lib64/openssl /usr/include/openssl /usr/local/ssl/bin/openssl /usr/share/man/man1/openssl.1ssl.gz
$ openssl version 	

OpenSSL 1.0.2p  14 Aug 2018

¡Eso es todo! En este artículo, hemos explicado cómo instalar la última versión de OpenSSL desde la fuente en sistemas Linux. Si tiene alguna pregunta, utilice el formulario de comando a continuación para comunicarse con nosotros.