Todos los artículos de SSL SSL y certificados

Certificados autofirmados vs firmados por CA

Un certificado autofirmado es uno que creas tú mismo — actúas como tu propia Autoridad Certificadora. Un certificado firmado por CA es emitido y firmado por una Autoridad Certificadora de confianza (como Let’s Encrypt o DigiCert) en la que los navegadores ya confían.

La diferencia práctica: los certificados autofirmados provocan advertencias de seguridad en el navegador. Los firmados por CA no.

Comparación

AutofirmadoFirmado por CA
Creado porTú (comando openssl)Una CA de confianza
Confianza del navegadorAdvertencia: «No confiable»Icono de candado
Fortaleza del cifradoIgualIgual
CostoGratisGratis (Let’s Encrypt) o de pago
ValidaciónNinguna — tú respondes por ti mismoLa CA verifica dominio/organización
Caso de usoDesarrollo, interno, pruebasSitios web en producción
RenovaciónManual (tú defines la validez)90 días (LE) o 1 año (de pago)
Protección man-in-the-middleDébil — usuarios entrenados a hacer clic para pasar advertenciasFuerte — advertencias solo en problemas reales

Por qué los certificados autofirmados muestran advertencias

Los navegadores confían en certificados basándose en quién los firmó. Tu SO y navegador vienen con una lista de ~100-150 CAs raíz de confianza. Cuando un servidor presenta un certificado firmado por una de estas CAs, el navegador muestra un candado.

Un certificado autofirmado no está firmado por ninguna CA de confianza — está firmado por su propia clave privada. El navegador no tiene forma de verificar que el certificado es legítimo, así que muestra una advertencia. Este es el comportamiento correcto — sin verificación de CA, cualquiera podría crear un certificado haciéndose pasar por google.com.

Cuándo usar certificados autofirmados

Servicios internos

Servicios que no están expuestos a internet — paneles internos, herramientas de monitoreo, paneles de administración de bases de datos. Tu equipo puede añadir la CA autofirmada a sus almacenes de confianza.

Desarrollo y pruebas

HTTPS rápido para desarrollo local cuando no quieres configurar mkcert. La advertencia del navegador es molesta pero funcional para pruebas.

IoT y dispositivos embebidos

Dispositivos que se comunican con un servidor conocido y pueden anclar el certificado — no involucran almacén de confianza del navegador.

Redes aisladas

Redes sin acceso a internet donde el protocolo ACME de Let’s Encrypt no puede llegar. Autofirmado es la única opción.

Cuándo NO usar certificados autofirmados

Cualquier sitio web público

Los usuarios ven una advertencia alarmante y se van. Los motores de búsqueda pueden no rastrear páginas HTTPS con certificados no confiables. No hay razón para autofirmar cuando los certificados de Let’s Encrypt son gratuitos.

Cualquier sitio que maneje datos de usuario

Los certificados autofirmados entrenan a los usuarios a hacer clic para pasar las advertencias de seguridad — lo opuesto a buena seguridad. Cuando un ataque real dispara una advertencia, los usuarios habituados a hacer clic en «Continuar de todos modos» no lo notarán.

Cómo crear un certificado autofirmado

# ECDSA (recommended)
openssl req -x509 -newkey ec -pkeyopt ec_paramgen_curve:P-256 \
  -keyout key.pem -out cert.pem -days 365 -nodes \
  -subj "/CN=internal.example.com" \
  -addext "subjectAltName=DNS:internal.example.com,IP:10.0.0.5"

# RSA
openssl req -x509 -newkey rsa:2048 \
  -keyout key.pem -out cert.pem -days 365 -nodes \
  -subj "/CN=internal.example.com"

Usa los archivos resultantes cert.pem y key.pem en la configuración de tu servidor. Nota: fullchain.pem y chain.pem no son necesarios — no hay cadena con certificados autofirmados.

Mejores alternativas para cada escenario

EscenarioEn lugar de autofirmado, usa
Sitio web en producciónLet’s Encrypt vía GetHTTPS — gratuito, confiable, 5 minutos
Desarrollo localmkcert — confiable localmente, sin advertencias
Servicios internosLet’s Encrypt (si es accesible por internet) o una CA privada
Pruebas/stagingEntorno de staging de Let’s Encrypt — certificados de prueba ilimitados

Los certificados autofirmados tenían sentido cuando los certificados SSL costaban $100+/año. Ahora que Let’s Encrypt es gratuito, rara vez hay razón para autofirmar algo más allá de entornos verdaderamente aislados.

Preguntas frecuentes

¿Un certificado autofirmado es menos seguro que uno firmado por CA?

El cifrado es idéntico — mismos algoritmos, mismas fortalezas de clave. La diferencia es la confianza: un certificado firmado por CA prueba la identidad del servidor vía un tercero de confianza. Un certificado autofirmado no prueba nada — cualquiera puede crear uno para cualquier dominio. El problema de seguridad no es la criptografía; es la falta de autenticación.

¿Puedo hacer que los navegadores confíen en mi certificado autofirmado?

Sí, en máquinas que controles. Importa el certificado (o una CA autofirmada que lo firmó) al almacén de confianza del SO/navegador. Esto es lo que mkcert automatiza. Pero no puedes hacer que los navegadores de otras personas confíen en él — para eso se necesita una CA real.

Mi proveedor de hosting me dio un certificado autofirmado. ¿Está bien?

No, para un sitio web público. Pide a tu proveedor que habilite Let’s Encrypt gratuito (la mayoría de los hosts lo soportan). Si no lo hacen, usa GetHTTPS para obtener un certificado confiable tú mismo.

¿Por qué no simplemente crear mi propia CA?

Puedes, pero los navegadores no confiarán en ella a menos que pases por el proceso de años y costoso de unirte a los almacenes de confianza de los navegadores. Una CA privada funciona para infraestructura interna (tu equipo instala el certificado raíz), pero no para sitios web públicos. Para sitios públicos, usa una CA confiable como Let’s Encrypt.

Artículos relacionados

SSL y certificados 2026-05-07
¿Qué es una Autoridad Certificadora (CA)?
Una Autoridad Certificadora firma certificados SSL para demostrar la identidad de un sitio web. Aprende cómo funcionan las CAs, el modelo de confianza, las principales CAs y por qué Let's Encrypt cambió la industria.
Despliegue 2026-05-08
HTTPS para localhost: certificados SSL para desarrollo local
Configura HTTPS confiable en localhost con mkcert, sin advertencias del navegador. Cubre configuración de mkcert, certificados autofirmados y por qué Let's Encrypt no puede emitir certificados para localhost.
Primeros pasos 2026-05-08
Cómo obtener un certificado SSL gratuito (guía paso a paso)
Obtén un certificado SSL gratuito de Let's Encrypt en 5 minutos — sin software que instalar, sin cuenta que crear. Guía completa con 4 métodos, ambos tipos de desafío, instalación en 6 plataformas y solución de problemas.
Obtén un certificado SSL gratuito en tu navegador
Sin instalación, sin cuenta. Tu clave privada nunca sale de tu dispositivo.
Obtener certificado