¿Cómo generar un certificado autofirmado con OpenSSL?

How to Create a Self-Signed Certificate Using OpenSSL

Puede que los certificados autofirmados no gocen de la confianza de los navegadores y no sean adecuados para sitios en vivo, pero tienen una gran utilidad en entornos de prueba o de intranet. Puedes crear un certificado autofirmado utilizando OpenSSL. Es un proceso rápido y gratuito. Sólo tienes que ejecutar unos cuantos comandos.

Esta guía te mostrará cómo generar un certificado autofirmado utilizando OpenSSL en los sistemas operativos Windows, Linux y Mac. El planteamiento es el mismo, independientemente del SO que utilices. Así que, ¡empecemos!


Cómo crear un certificado autofirmado

Antes de hablar de los aspectos técnicos, vamos a entender el concepto de certificados autofirmados. Un certificado autofirmado es un certificado digital firmado por su creador en lugar de por una autoridad de certificación (AC) de confianza. Aunque no son compatibles con entidades externas, los certificados autofirmados son útiles para uso interno, como pruebas, desarrollo o servidores personales.

Como requisito previo, asegúrate de que tienes OpenSSL instalado en tu sistema. La mayoría de las distribuciones de Linux vienen con OpenSSL preinstalado. Los usuarios de Windows pueden descargar e instalar OpenSSL siguiendo nuestras instrucciones de instalación. Para instalar OpenSSL en un Mac, puedes utilizar el gestor de paquetes Homebrew ejecutando “brew install openssl”.


Paso 1: Abre Terminal o Símbolo del sistema

Primero, abre tu terminal o símbolo del sistema. En Linux y Mac, puedes encontrarlo en la carpeta Aplicaciones o Utilidades. En Windows, busca “Símbolo del sistema” en el menú Inicio.


Paso 2: Navega al Directorio OpenSSL (Opcional)

Si OpenSSL no está en el PATH de tu sistema, navega hasta el directorio donde está instalado OpenSSL utilizando el comando cd. Por ejemplo:

cd /ruta/a/openssl


Paso 3: Generar la clave privada

El primer paso es generar una clave privada utilizando OpenSSL. Ejecuta el siguiente comando. Sustituye private. key por el nombre de archivo que desees.

openssl genpkey -algoritmo RSA -out clave.privada


Paso 4. Generar la Solicitud de Firma de Certificado (CSR)

A continuación, genera una CSR utilizando la clave privada. El CSR es un bloque de texto con información de contacto sobre tu dominio y empresa.

openssl req -new -claveprivada.key -out csr.pem

Sigue las indicaciones para proporcionar la información necesaria, como país, estado, organización, etc. Introduce tu propio nombre, sitio web e información. Los datos que figuran a continuación son sólo a título de ejemplo.

  1. Nombre del país: Introduce el código de dos letras de tu país. Por ejemplo, EE.UU.
  2. Nombre del Estado o Provincia: Escribe el nombre del estado en el que está registrada oficialmente tu organización. Por ejemplo, California
  3. Nombre de la localidad: Introduce el nombre de la localidad o ciudad donde reside tu empresa: Por ejemplo, San José
  4. Nombre de la organización: Especifica el nombre oficial de tu organización: Por ejemplo, SSL Dragon
  5. Nombre de la unidad organizativa: Introduce el nombre de la unidad de tu organización responsable de gestionar los certificados SSL. Por ejemplo, TI
  6. Nombre común: Introduce el Nombre de Dominio Completamente Cualificado (FQDN) que quieras asegurar o tu nombre. Por ejemplo, ssldragon.com
  7. Dirección de correo electrónico: [email protected]
  8. Una contraseña de desafío: tucontraseña
  9. Un nombre de empresa opcional: puedes dejarlo en blanco

Paso 5. Generar certificado autofirmado

Por último, crea el certificado autofirmado utilizando la CSR y la clave privada:

openssl req -x509 -days 365 -claveprivada.key -in csr.pem -out certificado.crt

Este comando crea un certificado autofirmado válido durante 365 días. Puedes ajustar el periodo de validez según necesites.

Tras ejecutar el comando para generar el certificado autofirmado mediante OpenSSL, se creará el archivo del certificado en el directorio donde hayas ejecutado el comando.

En este comando, el indicador de salida -out certificado.crt especifica el nombre del archivo del certificado, que es certificado.crt. Por tanto, para encontrar el certificado generado, puedes buscar en el mismo directorio en el que estabas trabajando cuando ejecutaste el comando OpenSSL. Alternativamente, si especificaras una ruta diferente para el archivo de salida, encontrarías el certificado en esa ubicación especificada.


Consideraciones posteriores a la generación del certificado

Una vez que hayas generado tu certificado autofirmado, debes tener en cuenta algunas consideraciones:

  • Instalación del certificado: Tras generar el certificado, debes instalarlo en tu servidor o servicio. El proceso de instalación varía en función de tu aplicación o software de servidor. Por ejemplo, con Apache, lo normal es que actualices el archivo de configuración SSL para que apunte a los archivos del certificado.
  • Renovación de certificados: Los certificados autofirmados tienen una fecha de caducidad, normalmente fijada durante el proceso de generación. Es esencial llevar un registro de las fechas de caducidad de los certificados y renovarlos antes de que expiren para evitar interrupciones del servicio.
  • Confianza en los certificados: A diferencia de los certificados emitidos por autoridades de certificación de confianza, los navegadores web o los clientes de correo electrónico no confían automáticamente en los certificados autofirmados. Los usuarios que accedan a servicios protegidos con certificados autofirmados pueden encontrarse con mensajes de advertencia que les pidan confirmar la excepción de seguridad. Por eso los autofirmados son adecuados para fines de desarrollo y no para producción en directo.

Conclusión

En esta guía hemos explicado cómo generar un certificado autofirmado utilizando OpenSSL. Los pasos y las líneas de comando son idénticos tanto si creas un certificado autofirmado en Linux como en Windows.
También hemos hablado de las consideraciones posteriores a la generación del certificado para garantizar una implantación y un funcionamiento sin problemas. Aunque los certificados autofirmados son valiosos para fines internos, recuerda obtener certificados SSL de confianza para entornos de producción en los que se requiera la validación de terceros.

Ahorre un 10% en certificados SSL al realizar su pedido hoy mismo.

Emisión rápida, cifrado potente, 99,99% de confianza del navegador, asistencia dedicada y garantía de devolución del dinero en 25 días. Código del cupón: SAVE10

Escrito por

Redactor de contenidos experimentado especializado en Certificados SSL. Transformar temas complejos de ciberseguridad en contenido claro y atractivo. Contribuir a mejorar la seguridad digital a través de narrativas impactantes.