Saltar al contenido
Open Security
Redes e InternetIntermedio· 30 min

TLS sin magia: certificado, SNI, cadena y expiración

Qué mira tu cliente cuando valida HTTPS: nombre del sitio, certificado, cadena de confianza, fechas y errores comunes.

#tls#https#certificados

Antes de empezar necesitás

  • Haber hecho el lab de una request no es magia
  • Tener curl y openssl disponibles

Al terminar vas a poder

  • Leer issuer, subject, SAN y fechas de un certificado
  • Entender por qué SNI importa en hosts compartidos
  • Distinguir certificado vencido, nombre incorrecto y CA no confiable
  • Dejar evidencia sin capturar secretos

HTTPS no significa “seguro” por magia. Significa que el cliente pudo negociar TLS y validar un certificado para el nombre que quería visitar. Si entendés esa validación, los errores dejan de ser misteriosos.

Mirá el certificado

openssl s_client abre la conexión TLS y te muestra la cadena. -servername manda SNI: el nombre que el cliente quiere validar.

vt@labs:~
openssl s_client -servername example.com -connect example.com:443 </dev/null 2>/dev/null \
  | openssl x509 -noout -subject -issuer -dates

Campos clave:

subject   para quién fue emitido
issuer    quién lo emitió
notBefore desde cuándo vale
notAfter  hasta cuándo vale
SAN       nombres válidos del certificado

Curl como diagnóstico rápido

vt@labs:~
curl -Iv https://example.com

Buscá líneas de TLS, issuer y expire date. Si falla, no saltes directo a -k: primero entendé qué validación falló.

Errores comunes

certificado vencido        fecha actual > notAfter
nombre incorrecto          dominio no aparece en SAN
CA no confiable            cadena no llega a una raíz confiable
SNI ausente o incorrecto   el servidor entrega otro certificado

Lo que practicás en este lab

Llevátelo a tu repo si querés, pero no es obligatorio: es tu aprendizaje.

  • Salida de openssl s_client redactada a los campos importantes
  • Tabla con subject, issuer, SAN y expiración
  • Writeup: qué error esperarías si el nombre no coincide

Reto

Elegí un dominio público, inspeccioná su certificado y escribí qué nombre valida el navegador, quién lo emitió y cuándo vence.

Resolvelo y escribí dos líneas explicando qué pasó. Con eso lo fijás.

¿Hiciste el lab?

Si querés, guardá lo que hiciste (comandos, notas, un repo) para volver después. Y si encontrás un error o querés mejorar este lab,contribuí al repo. El progreso se guarda solo en tu navegador.