Todos los artículos de SSL SSL y certificados

Revocación de certificados: OCSP, CRL y qué sucede cuando un certificado se ve comprometido

La revocación de certificados es el proceso de invalidar un certificado SSL antes de su fecha de vencimiento, generalmente porque la clave privada fue comprometida, el certificado fue emitido incorrectamente o cambió la propiedad del dominio.

En teoría, la revocación es la forma en que el sistema de CA maneja las emergencias. En la práctica, es la parte más débil de la infraestructura PKI. A continuación explicamos por qué, y qué la está reemplazando.

Cuándo revocar un certificado

  • Clave privada comprometida — filtrada, robada o expuesta (por ejemplo, subida a un repositorio público de Git)
  • Certificado emitido incorrectamente — la CA emitió un certificado para un dominio que no controlas
  • Dominio vendido — ya no eres propietario del dominio que cubre el certificado
  • Cambio de clave — estás rotando claves y quieres invalidar el certificado anterior
  • Servidor dado de baja — el certificado ya no debería ser válido

Cómo funciona la revocación

CRL (Lista de Revocación de Certificados)

El mecanismo de revocación original. La CA publica una lista de todos los números de serie de certificados revocados. Los navegadores descargan la lista y verifican contra ella.

Problemas:

  • Las CRL crecen con el tiempo (millones de entradas)
  • Los navegadores deben descargar la lista completa antes de verificar cualquier certificado
  • Lenta y consume mucho ancho de banda — la mayoría de los navegadores dejaron de verificar CRL hace años

OCSP (Protocolo de Estado de Certificados en Línea)

Una verificación en tiempo real. En lugar de descargar una lista, el navegador pregunta al servidor OCSP de la CA: «¿Este certificado está revocado?»

Cómo funciona:

Browser → OCSP Responder: "Is cert serial #12345 still valid?"
OCSP Responder → Browser: "Good" / "Revoked" / "Unknown"

Problemas:

  • Privacidad — la CA sabe qué sitios estás visitando (ve cada solicitud OCSP)
  • Latencia — añade un viaje de red adicional a cada nueva conexión HTTPS
  • Disponibilidad — si el respondedor OCSP está caído, los navegadores típicamente hacen soft-fail (aceptan el certificado de todos modos), lo que hace ineficaz la revocación

OCSP Stapling (la mejora)

El servidor obtiene la respuesta OCSP periódicamente y la «grapa» a la negociación TLS. El navegador recibe el estado de revocación sin contactar a la CA.

Beneficios:

  • Sin fuga de privacidad (el navegador no contacta a la CA)
  • Sin latencia adicional (la respuesta viene incluida en la negociación)
  • Funciona incluso si el servidor OCSP de la CA es lento o está caído

Configuración:

Nginx:

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;

Apache:

SSLUseStapling on
SSLStaplingCache "shmcb:/var/run/apache2/ssl_stapling(128000)"

CRLite (el futuro)

CRLite de Mozilla comprime todas las revocaciones conocidas en un filtro compacto (~1,5 MB) que se distribuye con las actualizaciones de Firefox. El navegador puede verificar el estado de revocación localmente — sin solicitud de red, sin fuga de privacidad, sin latencia. A partir de 2026, CRLite está habilitado en Firefox y podría ser adoptado por otros navegadores.

La dura realidad sobre la revocación

La revocación está mayormente rota en la práctica:

  • Chrome no verifica OCSP ni CRL por defecto (se basa en sus propios CRLSets, un subconjunto curado)
  • Safari verifica OCSP pero hace soft-fail (acepta certificados si el servidor OCSP no es accesible)
  • Firefox usa CRLite (el mejor enfoque, pero solo para Firefox)
  • El soft-fail de OCSP significa que un atacante determinado puede bloquear la verificación OCSP y el navegador aceptará un certificado revocado

Por esto la industria se está moviendo hacia certificados de corta duración como defensa principal:

EnfoqueCómo protege
Revocación (OCSP/CRL)Invalida un certificado comprometido — pero la verificación no es confiable
Validez corta (90 días → 47 días)El certificado comprometido expira rápidamente — no se necesita verificación

Si un certificado es válido solo por 47 días, una clave robada es útil como máximo 47 días. Esto limita el daño incluso cuando la revocación no funciona.

Cómo revocar un certificado de Let’s Encrypt

Si tu clave privada está comprometida:

# With Certbot
sudo certbot revoke --cert-path /etc/letsencrypt/live/yourdomain.com/cert.pem --reason keycompromise

# With acme.sh
acme.sh --revoke -d yourdomain.com

Después de revocar, obtén un nuevo certificado inmediatamente — la revocación no soluciona el problema, solo invalida el certificado anterior. Usa GetHTTPS para emitir un certificado nuevo con un par de claves nuevo.

Preguntas frecuentes

¿Debo habilitar OCSP stapling?

Sí. No garantiza la verificación de revocación (los navegadores pueden ignorarlo), pero es un beneficio neto: negociación TLS más rápida (sin búsqueda OCSP del lado del cliente), mejor privacidad (el navegador no contacta a la CA), y algunos navegadores sí respetan las respuestas OCSP grapadas. Es gratis habilitarlo — Nginx y Apache lo soportan con 2-3 líneas de configuración.

¿Qué tan rápido toma efecto la revocación?

Las CRL se publican periódicamente (horas a días). Las respuestas OCSP se almacenan en caché (típicamente 1-4 horas). En la práctica, un certificado revocado puede seguir siendo «válido» para algunos navegadores hasta por 24 horas. Esta es otra razón por la que los certificados de corta duración están reemplazando a la revocación como defensa principal.

¿Necesito revocar cuando renuevo?

No. Obtener un nuevo certificado no requiere revocar el anterior. El certificado anterior simplemente expira. La revocación solo es necesaria si la clave privada está comprometida, no para la renovación rutinaria.

¿Puedo verificar si un certificado ha sido revocado?

# Check OCSP status
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -status 2>/dev/null | grep "OCSP Response Status"
# "successful" = OCSP stapling is working
# If empty, stapling is not enabled

O consulta crt.sh — los certificados revocados están marcados en la interfaz.

Artículos relacionados

SSL y certificados 2026-05-07
La cadena de confianza de certificados explicada
Cómo los navegadores verifican certificados SSL a través de una cadena desde la CA raíz a la CA intermedia hasta tu certificado. Aprende por qué el orden de la cadena importa y cómo solucionar errores de «certificado no confiable».
SSL y certificados 2026-05-07
Validez de certificados SSL: el cambio a 47 días explicado
El CA/Browser Forum votó reducir la validez de certificados SSL a 47 días para 2029. Conoce el cronograma, qué significa para tu sitio web y cómo prepararte.
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
Cómo instalar un certificado SSL en Nginx
Guía paso a paso para instalar un certificado SSL en Nginx. Cubre subida de archivos, configuración completa del bloque server, mejores prácticas TLS, HTTP/2, HSTS, redirección y solución de 6 errores comunes.
Obtén un certificado SSL gratuito en tu navegador
Sin instalación, sin cuenta. Tu clave privada nunca sale de tu dispositivo.
Obtener certificado