Cómo funciona
Un certificado X.509 es un documento firmado que une una clave pública con un nombre: un dominio, una persona o una organización. Lo que viaja entre servidores y archivos es su forma binaria (DER), y lo que se copia y se pega es esa misma estructura en Base64 entre las líneas BEGIN CERTIFICATE y END CERTIFICATE, el formato PEM. Dentro hay un sujeto, un emisor, un periodo de validez, la clave pública y extensiones que indican para qué sirve y dónde consultar si ha sido revocado.
La herramienta reconoce certificados, solicitudes de firma PKCS#10 (CSR), claves privadas PKCS#8, PKCS#1 y SEC1, claves públicas, paquetes PKCS#7 (.p7b) y archivos PKCS#12 (.pfx, .p12). Si pegas varios bloques juntos, ordena la cadena desde el certificado final hasta la raíz, verifica cada firma con la clave del emisor y compara la clave privada con cada certificado y cada CSR para decirte cuál corresponde a cuál.
También convierte entre formatos, genera el .pfx que piden IIS y Azure a partir del certificado y la clave, y crea una CSR nueva con su clave privada o un certificado autofirmado para pruebas. Todo se hace con la API criptográfica de tu navegador: ni los certificados ni las claves se envían a un servidor.
Ejemplos
ISRG Root X1 · SHA-25696:BC:EC:06:26:49:76:F3:74:60:77:9A:CF:28:C5:A7:CF:E8:A3:C0:AA:E1:1A:8F:FC:EE:05:C0:BD:DF:08:C6La huella SHA-256 de la raíz de Let's Encrypt. Es la que publican la autoridad y los almacenes de confianza: si la del archivo que tienes coincide, es exactamente ese certificado.ISRG Root X1 · pin SPKIC5+lpZ7tcVwmwQIMcRtPbsQtWLABXhQzejna0wHFr8M=El SHA-256 de la clave pública en Base64. Es el valor que va en el pin-sha256 de la configuración de seguridad de red de Android o en el certificate pinning de una app, y no cambia al renovar el certificado si se reutiliza la clave.root.crt + intermediate.crt + server.crtserver.crt + intermediate.crt + root.crtnginx y HAProxy toman el primer certificado del archivo como el del servidor. Si la cadena está al revés, nginx falla con key values mismatch porque compara la clave privada con el certificado de la raíz.openssl pkcs12 -in viejo.pfx -legacy -nodes | openssl pkcs12 -export -out nuevo.pfxPBES2 · AES-256-CBC · MAC SHA-256Los .pfx exportados por versiones antiguas de Windows u OpenSSL 1.x se cifran con RC2 y 3DES, que los navegadores no implementan. Este comando los vuelve a cifrar con AES, el formato que usa OpenSSL 3 por defecto.Casos de uso
- Comprobar antes de instalarlo que el certificado que ha enviado la autoridad cubre todos los dominios (SAN) y que la fecha de caducidad es la esperada.
- Averiguar cuál de las claves privadas que han quedado en el servidor corresponde a cada certificado, sin tener que comparar módulos con OpenSSL.
- Descubrir por qué un cliente no confía en tu sitio: un intermedio que falta, una cadena desordenada o un certificado firmado con SHA-1.
- Generar la CSR para comprar o renovar un certificado, con la clave creada en tu equipo y el comando de OpenSSL equivalente por si prefieres hacerlo en el servidor.
- Convertir un .crt y su .key en un .pfx para IIS, Azure App Service o un keystore de Java, o extraer el certificado y la clave de un .pfx para nginx.
- Obtener la huella o el pin SPKI de un certificado para configurar certificate pinning en una app móvil o validar un certificado de cliente.
Preguntas frecuentes
¿Es seguro pegar mi clave privada aquí?
La clave se procesa con la API Web Crypto dentro de tu navegador y no se envía a ningún servidor; puedes comprobarlo en la pestaña Red de las herramientas de desarrollo. Aun así, la buena práctica es tratar cualquier clave de producción como un secreto: pégala solo en herramientas en las que confíes y cierra la pestaña al terminar.
¿Qué diferencia hay entre PEM, DER, CRT, CER, P7B y PFX?
DER es el certificado en binario y PEM es ese mismo binario en Base64 entre líneas BEGIN y END. Las extensiones .crt y .cer no indican el formato: pueden contener cualquiera de los dos. Un .p7b es un paquete PKCS#7 con varios certificados y ninguna clave. Un .pfx o .p12 es un PKCS#12: guarda el certificado, los intermedios y la clave privada juntos, cifrados con contraseña.
¿Cómo sé si a mi servidor le falta el intermedio?
Pega lo que tienes configurado en el servidor. Si la cadena termina en un certificado que no es autofirmado, falta un eslabón: su extensión Authority Information Access suele incluir en CA Issuers la dirección para descargar el emisor. Los navegadores de escritorio a veces lo buscan por su cuenta, pero Android, curl y la mayoría de las bibliotecas no, así que el error solo aparece en algunos clientes.
¿Cuánto puede durar un certificado TLS público?
Desde septiembre de 2020 los navegadores rechazan certificados de más de 398 días. El CA/Browser Forum aprobó en 2025 reducir el máximo por etapas: 200 días para los emitidos desde el 15 de marzo de 2026, 100 días desde marzo de 2027 y 47 días desde marzo de 2029. Por eso conviene automatizar la renovación con ACME. Las CA internas de una empresa no tienen ese límite.
¿RSA o ECDSA para la CSR?
ECDSA P-256 ofrece una seguridad comparable a RSA de 3072 bits con una clave y unas firmas mucho más pequeñas, y el servidor completa el handshake más rápido. Todos los navegadores y sistemas actuales lo admiten. RSA 2048 sigue siendo la opción segura si tienes clientes muy antiguos, equipos embebidos o un sistema que solo acepta RSA.
¿Basta con poner el dominio en el nombre común (CN)?
No. Desde Chrome 58, en 2017, los navegadores solo miran los nombres alternativos (SAN) y el CN se ignora. Cada dominio en el que se vaya a usar el certificado, incluido el del CN, tiene que estar en la lista de SAN. Un comodín como *.example.com cubre un solo nivel: sirve para www.example.com, pero no para example.com ni para a.b.example.com.