Instalar la última versión de OpenSSL en Centos 7

Aprendemos a instalar la última versión de OpenSSL en Centos 7 desde las fuentes. Además con esta guía podrás realizar la instalación de cualquier versión de este conjunto de herramientas criptográficas.

¿Qué es OpenSSL?

OpenSSL es una biblioteca de software, con todas las funciones que contiene una implementación de código abierto de los protocolos de Seguridad de la capa de transporte (TLS) y de la Capa de sockets seguros (SSL), que se utiliza para proteger la información transmitida a través de redes informáticas.

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

¿Cómo obtener la última versión de OpenSSL?

Para descargar la última versión solo hemos de visitar su página web e ir a la sección de descargas.

Una vez seleccionamos el paquete de la última versión estable, que a fecha de hoy es la 1.1.1. Dicha versión es LTS y tiene soporte hasta septiembre de 2023 [más info]. Copiamos la URL y utilizando herramientas como WGET o CURL, procedemos a la descarga:

  1. wget https://ftp.openssl.org/source/old/1.1.1/openssl-1.1.1.tar.gz

La ubicamos donde queramos, por ejemplo en nuestra home.

Requisitos previos

Antes de pasar a la compilación de las fuentes, en nuestro host debemos tener las herramientas necesarias para ello. Por ello instalaremos los siguientes paquetes:

  1. yum install -y make gcc perl pcre-devel zlib-devel

Otra forma es instalar el grupo de herramientas llamadas Development Tools

Instalación desde las fuentes de OpenSSL

Descomprimimos el fichero comprimido:

  1. tar xvf openssl-1.1.1.tar.gz

Y accedemos a la carpeta recién creada:

  1. cd openssl-1.1.1

Indicamos los parámetros de configuración que queremos utilizar:

  1. ./config --prefix=/usr --openssldir=/etc/ssl \
  2. --libdir=lib no-shared zlib-dynamic

Vamos a explicar que hemos hecho: prefix y openssldir establece las rutas de salida para OpenSSL.shared fuerza la creación de bibliotecas compartidas y zlib significa que la compresión se realizará mediante el uso de la biblioteca zlib

Ahora sí compilamos:

  1. make
  2. make test

E instalamos:

  1. sudo make install

Todo este proceso puede llevar su tiempo, hay que tener paciencia.

Para que funcione correctamente y no tengamos problemas con librerías, debemos exportar varias rutas:

  1. export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64

Para que quede de manera permanente, se debe añadir al fichero .bashrc, de la siguiente manera:

  1. echo "export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/lib64" >> ~/.bashrc

De esta manera ya podemos ver el resultado:

  1. [root@servcentos]# openssl version
  2. OpenSSL 1.1.1  11 Sep 2018

Espero que el artículo os pueda ser de utilidad en algún momento.