Certificado, CSR o clave
Pegá un certificado X.509, una solicitud de firma (CSR), una clave o una cadena completa en PEM, o cargá un archivo .crt, .cer, .der, .p7b, .pfx o .p12. Vas a ver el sujeto, los SAN, la vigencia, las extensiones y las huellas, si la cadena está en orden y firmada, y si la clave privada corresponde al certificado. Nada sale de tu navegador.
Podés pegar varios bloques juntos (certificado, intermedios y clave) o arrastrar un archivo acá

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. Adentro hay un sujeto, un emisor, un período de vigencia, la clave pública y extensiones que dicen para qué sirve y dónde consultar si fue 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 pegás 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, arma el .pfx que piden IIS y Azure a partir del certificado y la clave, y genera 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 tenés 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 Windows antiguos 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

  • Revisar antes de instalarlo que el certificado que mandó la autoridad cubra todos los dominios (SAN) y que la fecha de vencimiento sea la esperada.
  • Averiguar cuál de las claves privadas que quedaron en el servidor corresponde a cada certificado, sin tener que comparar módulos con OpenSSL.
  • Encontrar 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 preferís 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 acá?

La clave se procesa con la API Web Crypto dentro de tu navegador y no se envía a ningún servidor; podés comprobarlo en la pestaña Red de las herramientas de desarrollo. Igual, la buena práctica es tratar cualquier clave de producción como un secreto: pegala sólo en herramientas en las que confíes y cerrá 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 tener 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 le falta el intermedio a mi servidor?

Pegá lo que tenés 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 traer en CA Issuers la dirección para descargar el emisor. Los navegadores de escritorio a veces lo buscan solos, pero Android, curl y la mayoría de las librerías no, así que el error aparece sólo 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 bajar 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 chicas, y el servidor hace el handshake más rápido. Todos los navegadores y sistemas actuales lo soportan. RSA 2048 sigue siendo la opción segura si tenés clientes muy viejos, equipos embebidos o un sistema que sólo acepta RSA.

¿Alcanza con poner el dominio en el nombre común (CN)?

No. Desde Chrome 58, en 2017, los navegadores sólo miran los nombres alternativos (SAN) y el CN se ignora. Cada dominio que 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.