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
2
./config --prefix=/usr --openssldir=/etc/ssl \
--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
2
make
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
2
[root@servcentos]# openssl version
OpenSSL 1.1.1  11 Sep 2018

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

3 Respuestas

  1. Jon dice:

    Ante todo, te felicito por tu blog. Siempre me resulta muy útil, aunque es la primera vez que comento algo aquí.

    He llegado aquí después de compilar la última versión de OpenSSL, buscando información sobre excepciones, porque aunque mi CentOS 7 tiene ahora la versión 1.1.1a ($ openssl version -a), PHP y Apache aún están usando la anterior 1.0.2k-fips, que en teoría ya no está allí. Si compilo Apache de nuevo igualmente lo hace con la versión anterior de OpenSSL 1.0.2k-fips… ¿tienes alguna idea?

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies
A %d blogueros les gusta esto: