Divisor de Paquete PEM
Divide un paquete PEM en certificados individuales
PEM Bundle
Paste a PEM bundle to split it into individual items
Supported PEM Types
Certificates, private keys (RSA, EC, PKCS#8), public keys, CSRs, and CRLs. Click any item to preview, or click the type badges to copy all items of that type.
El PEM Bundle Splitter separa un archivo que contiene múltiples certificados PEM concatenados en certificados individuales, identificando los certificados de entidad final, intermediarios y root en la cadena -- esencial para depurar problemas de cadena TLS y extraer certificados específicos de bundles. Pega un bundle PEM con múltiples bloques -----BEGIN CERTIFICATE----- y obtén cada certificado individualmente con su subject e issuer identificados.
Entendiendo bundles y cadenas de certificados
Cuando configuras TLS en un servidor web, no instalas solo un certificado. Necesitas una cadena de certificados que vincule el certificado leaf de tu servidor con una CA root en la que los clientes confían. El certificado leaf dice "Yo soy example.com, y fui firmado por Intermediate CA R3". El certificado intermediario dice "Yo soy R3, y fui firmado por ISRG Root X1". El certificado root dice "Yo soy ISRG Root X1, y me firmé a mí mismo". Los clientes verifican esta cadena de abajo hacia arriba, y si algún eslabón falta o está roto, la conexión falla.
Las Autoridades Certificadoras típicamente entregan estos certificados como un único archivo PEM con múltiples bloques de certificados concatenados -- un bundle. A veces el bundle está en el orden correcto, a veces no, y a veces incluye certificados que no necesitas (como el root, que los clientes ya tienen). El problema es que un bundle PEM es simplemente un muro de texto base64 con marcadores BEGIN/END repetidos, y es casi imposible saber cuál certificado es cuál mirando el texto sin procesar.
Este splitter resuelve ese problema. Pega tu bundle y la herramienta separa cada certificado, analiza sus campos subject e issuer, y lo etiqueta como leaf, intermediario o root. Luego puedes inspeccionar cada certificado individualmente, reordenarlos, eliminar los no deseados, o copiar certificados específicos para usar en diferentes configuraciones. Es una herramienta esencial de depuración cuando obtienes un error de "certificate not trusted" o "unable to verify the first certificate" y necesitas averiguar qué hay realmente en tu archivo de cadena.
Cómo dividir un bundle de certificados PEM
- Pega tu bundle PEM que contiene múltiples bloques
-----BEGIN CERTIFICATE----- - La herramienta identifica y separa cada certificado en el bundle
- Revisa el subject e issuer analizados para cada certificado extraído
- Copia o descarga certificados individuales según sea necesario
Ejemplo: Dividiendo una cadena de tres certificados
Entrada -- un bundle PEM concatenado:
-----BEGIN CERTIFICATE-----
MIIFjTCCBHWgAwIBAgIS... (leaf certificate)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFFjCCAv6gAwIBAgIR... (intermediate)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFYDCCBEigAwIBAgIQ... (root)
-----END CERTIFICATE-----
Salida -- tres certificados identificados individualmente:
| # | Tipo | Subject | Issuer |
|---|---|---|---|
| 1 | Entidad final | CN=www.example.com | CN=R3, O=Let's Encrypt |
| 2 | Intermediario | CN=R3, O=Let's Encrypt | CN=ISRG Root X1 |
| 3 | Root | CN=ISRG Root X1 | CN=ISRG Root X1 (autofirmado) |
Cuándo usar esta herramienta
- Depuración de fallas de handshake TLS -- dividir una cadena para identificar intermediarios faltantes, orden incorrecto o certificados duplicados que causan errores SSL
- Extracción de certificados específicos -- extraer un solo intermediario de un bundle proporcionado por una Autoridad Certificadora
- Reordenamiento de cadena de certificados -- algunos servidores web requieren un orden específico (leaf primero, luego intermediarios); divide la cadena para reconstruirla correctamente
- Auditoría de bundles de certificados -- identificar rápidamente qué hay dentro de un archivo bundle sin ejecutar
openssl x509en cada certificado manualmente - Preparación multiplataforma -- extraer certificados individualmente para sistemas que requieren archivos separados (por ejemplo, importaciones a Java KeyStore)
- Respuesta a incidentes -- descomponer rápidamente una cadena de un servidor con problemas para identificar qué certificado está causando el problema
Cómo funcionan las cadenas de certificados PEM
Un bundle PEM es simplemente múltiples certificados PEM concatenados en un solo archivo. Cada certificado comienza con -----BEGIN CERTIFICATE----- y termina con -----END CERTIFICATE-----, con datos DER codificados en base64 entre los marcadores.
Orden correcto de la cadena
El orden estándar de la cadena para servidores TLS es:
- Certificado leaf -- el certificado de tu servidor (el de tu dominio)
- Certificado(s) intermediario(s) -- una o más CAs entre el leaf y el root
- Certificado root (opcional) -- el ancla de confianza; la mayoría de las configuraciones lo omiten ya que los clientes tienen certificados root en su almacén de confianza
Problemas comunes de cadena que el splitter detecta
| Problema | Síntoma | Detección |
|---|---|---|
| Orden incorrecto | Intermediarios antes del leaf | La cadena subject/issuer no sigue un orden secuencial |
| Intermediario faltante | El navegador muestra "certificate not trusted" | Hueco en el enlace issuer-a-subject de la cadena |
| Certificado duplicado | Archivo más grande de lo esperado, ancho de banda desperdiciado | Dos certificados con subject y número serial idénticos |
| Root autofirmado incluido | Bytes innecesarios en el handshake TLS | El último certificado tiene subject e issuer coincidentes |
| Certificado extra no relacionado | Bundle confuso | El issuer del certificado no encadena con ningún otro certificado en el bundle |
Requisitos de cadena según el software del servidor
Diferentes servidores manejan los archivos de cadena de manera diferente:
- nginx --
ssl_certificateespera el leaf más los intermediarios en un archivo, leaf primero - Apache --
SSLCertificateFilepara el leaf,SSLCertificateChainFilepara los intermediarios - HAProxy -- un solo archivo con leaf + intermediarios + clave privada concatenados
- IIS -- importa bundles PKCS#12 (.pfx) a través de la GUI; la cadena se instala por separado
Depuración de cadenas de certificados en la práctica
El problema de cadena más común es un certificado intermediario faltante. Esto es difícil de diagnosticar porque los navegadores de escritorio a menudo funcionan bien -- almacenan en caché los intermediarios de conexiones anteriores y pueden obtener los faltantes a través de la extensión Authority Information Access (AIA). Pero los clientes que no son navegadores como curl, la biblioteca requests de Python, las aplicaciones móviles y los dispositivos IoT no realizan la obtención por AIA. Dependen completamente de que el servidor envíe una cadena completa. Si tu sitio web funciona en Chrome pero falla en curl, un intermediario faltante es casi con certeza la causa.
Para diagnosticar esto, obtén la cadena de tu servidor con openssl s_client -connect tuservidor.com:443 -showcerts, pega la salida en este splitter, y verifica si todos los intermediarios están presentes. Compara el Issuer de cada certificado con el Subject del siguiente. Si hay un hueco -- el Issuer de un certificado no coincide con el Subject de ningún otro certificado en el bundle -- tienes un intermediario faltante que necesita agregarse.
Otro problema común es incluir el certificado root en la cadena. Si bien esto no es técnicamente un error, desperdicia ancho de banda porque los clientes ya tienen certificados root en sus almacenes de confianza. Cada handshake TLS envía la cadena completa, así que un certificado root innecesario de 1-2 KB se acumula a través de millones de conexiones. Usa el splitter para identificar el root (su Subject e Issuer son idénticos) y elimínalo de tu bundle a menos que estés desplegando en entornos con almacenes de confianza no estándar.
Preguntas frecuentes
¿Cómo sé cuál certificado es el leaf y cuáles son intermediarios? El certificado leaf (entidad final) tiene un Subject que coincide con tu nombre de dominio y su Issuer es una CA, no él mismo. Los certificados intermediarios tienen un Subject que coincide con el Issuer del certificado debajo de ellos en la cadena. Un certificado root es autofirmado -- su Subject e Issuer son idénticos.
¿Por qué mi navegador funciona pero otros clientes fallan? Los navegadores a menudo almacenan en caché certificados intermediarios de conexiones anteriores u obtienen intermediarios faltantes usando la extensión Authority Information Access (AIA). Los clientes que no son navegadores (curl, aplicaciones móviles, clientes API) típicamente no realizan la obtención por AIA, así que fallan si tu servidor no envía la cadena completa. Usa el splitter para verificar que tu bundle incluya todos los intermediarios necesarios.
¿Debería incluir el certificado root en mi bundle? Generalmente no. Los certificados root están preinstalados en los almacenes de confianza del cliente, así que enviarlos desperdicia ancho de banda (típicamente 1-2 KB por handshake). Sin embargo, algunos entornos especializados (dispositivos embebidos, CAs internas) pueden requerir el root en la cadena. El splitter identifica los certificados root para que puedas decidir si incluirlos.
¿Qué pasa si mi bundle contiene certificados en el orden incorrecto? Divide el bundle, identifica el rol de cada certificado, luego reensambla usando el PEM Bundle Merger que determina automáticamente el orden correcto. La mayoría de los servidores web modernos toleran cadenas fuera de orden, pero algunos clientes más antiguos pueden fallar si el leaf no está primero.
¿Cómo obtengo la cadena de certificados de un servidor en ejecución?
Ejecuta openssl s_client -connect example.com:443 -showcerts </dev/null 2>/dev/null para obtener la cadena completa en formato PEM. Copia la salida incluyendo todos los bloques BEGIN/END CERTIFICATE y pégala en el splitter.
Herramientas relacionadas
- PEM Bundle Merger - Reensamblar certificados individuales en una cadena correctamente ordenada
- X.509 Certificate Viewer - Inspeccionar los detalles completos de cada certificado extraído
- Certificate Expiry Checker - Verificar fechas de expiración para cada certificado en la cadena
- SAN Extractor - Extraer Subject Alternative Names del certificado leaf
- Convert DER to PEM - Convertir certificados binarios DER a PEM antes de agrupar en un bundle