Certificado SSL firmado por Let's Encrypt

obtener un certificado SSL firmado por Let's Encrypt y configurarlo para usarlo con OpenSSL en tu servidor. Este proceso es ideal para uso en producción ya que Let's Encrypt emite certificados confiables y gratuitos.

1. Preparación inicial

Asegúrate de tener un dominio (por ejemplo, tu-dominio.com) apuntando al servidor en el que deseas instalar el certificado. Let's Encrypt requiere un dominio válido y accesible públicamente.

Además, instala Certbot, la herramienta recomendada para gestionar certificados de Let's Encrypt.

Instalación de Certbot:

En distribuciones basadas en Debian/Ubuntu:

sudo apt update
sudo apt install certbot

Para otras distribuciones, consulta  https://certbot.eff.org/

 

2. Solicitar el certificado con Certbot

Ejecuta el siguiente comando para obtener un certificado para tu dominio:

sudo certbot certonly --standalone -d tu-dominio.com 

Parámetros:

  • certonly: Solo genera el certificado, sin intentar configurarlo automáticamente.
  • --standalone: Usa el servidor integrado de Certbot para validar el dominio.
  • -d: Especifica el dominio para el certificado.

Certbot generará los siguientes archivos en /etc/letsencrypt/live/tu-dominio.com/:

  • fullchain.pem: Certificado público completo (incluye el certificado del servidor y los certificados intermedios).
  • privkey.pem: Clave privada del servidor.

3. Configuración del servidor con OpenSSL

Actualiza tu código para usar los archivos generados por Certbot:

SSL_CTX_use_certificate_file(ctx, "/etc/letsencrypt/live/tu-dominio.com/fullchain.pem", SSL_FILETYPE_PEM);
SSL_CTX_use_PrivateKey_file(ctx, "/etc/letsencrypt/live/tu-dominio.com/privkey.pem", SSL_FILETYPE_PEM); 

Esto asegura que tu servidor use el certificado firmado por Let's Encrypt.

 

4. Configurar la renovación automática

Los certificados de Let's Encrypt son válidos por 90 días. Es importante configurar la renovación automática.

Ejecuta el siguiente comando para probar la renovación:

sudo certbot renew --dry-run 

 Agrega una tarea automática al cron para que se renueve regularmente. Abre el cron con:

sudo crontab -e 

Agrega la siguiente línea para que se renueve cada día (Let's Encrypt lo renovará solo si es necesario):

0 0 * * * certbot renew --quiet 

5. Verificar el certificado

Puedes verificar que el certificado esté funcionando correctamente usando curl:

curl -v https://tu-dominio.com 

Si el dominio es accesible y el certificado está instalado correctamente, deberías recibir una conexión HTTPS segura.

6. Resumen de archivos con OpenSSL

  • fullchain.pem: Es el archivo del certificado público completo, que incluye el certificado intermedio requerido.
  • privkey.pem: Es la clave privada del servidor.
  • cert.pem y key.pem: Si estuvieras usando nombres personalizados en lugar de los generados por Certbot, asegúrate de cambiar las rutas en tu código de configuración.

 

 

 

 

Destacado

Bootloader Avanzado en Ensamblador

Bootloader Avanzado en Ensamblador Características del Bootloader Se carga en la dirección 0x7C00 (BIOS). ...