Divisor de Bundle PEM
Divide um bundle PEM em certificados individuais
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.
O PEM Bundle Splitter separa um arquivo contendo múltiplos certificados PEM concatenados em certificados individuais, identificando os certificados de entidade final, intermediário e raiz na cadeia -- essencial para depurar problemas de cadeia TLS e extrair certificados específicos de bundles. Cole um bundle PEM com múltiplos blocos -----BEGIN CERTIFICATE----- e obtenha cada certificado individualmente com seu subject e issuer identificados.
Entendendo Bundles de Certificado e Cadeias
Quando você configura TLS em um servidor web, você não apenas instala um certificado único. Você precisa de uma cadeia de certificados que linca seu certificado folha de volta até uma CA raiz que os clientes confiam. O certificado folha diz "Eu sou example.com, e fui assinado pela CA Intermediária R3." O certificado intermediário diz "Eu sou R3, e fui assinado por ISRG Root X1." O certificado raiz diz "Eu sou ISRG Root X1, e assinei a mim mesmo." Os clientes verificam essa cadeia de baixo para cima, e se qualquer ligação está faltando ou quebrada, a conexão falha.
Autoridades de Certificação tipicamente entregam esses certificados como um arquivo PEM único com múltiplos blocos de certificado concatenados -- um bundle. Às vezes o bundle está na ordem correta, às vezes não está, e às vezes inclui certificados que você não precisa (como a raiz, que os clientes já têm). O problema é que um bundle PEM é apenas uma parede de texto base64 com marcadores BEGIN/END repetindo, e é quase impossível dizer qual certificado é qual apenas olhando para o texto bruto.
Este splitter resolve esse problema. Cole seu bundle e a ferramenta separa cada certificado, analisa seus campos subject e issuer, e os rotula como folha, intermediário ou raiz. Você pode então inspecionar cada certificado individualmente, reordená-los, remover os indesejados, ou copiar certificados específicos para uso em diferentes configurações. É uma ferramenta essencial de depuração quando você obtém um erro "certificado não confiável" ou "não é possível verificar o primeiro certificado" e precisa descobrir o que realmente está no seu arquivo de cadeia.
Como Dividir um Bundle de Certificado PEM
- Cole seu bundle PEM contendo múltiplos blocos
-----BEGIN CERTIFICATE----- - A ferramenta identifica e separa cada certificado no bundle
- Revise o subject e issuer analisados para cada certificado extraído
- Copie ou baixe certificados individuais conforme necessário
Exemplo: Dividindo uma Cadeia de Três Certificados
Entrada -- um bundle PEM concatenado:
-----BEGIN CERTIFICATE-----
MIIFjTCCBHWgAwIBAgIS... (certificado folha)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFFjCCAv6gAwIBAgIR... (intermediário)
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFYDCCBEigAwIBAgIQ... (raiz)
-----END CERTIFICATE-----
Saída -- três certificados individualmente identificados:
| # | Tipo | Subject | Issuer |
|---|---|---|---|
| 1 | Entidade final | CN=www.example.com | CN=R3, O=Let's Encrypt |
| 2 | Intermediário | CN=R3, O=Let's Encrypt | CN=ISRG Root X1 |
| 3 | Raiz | CN=ISRG Root X1 | CN=ISRG Root X1 (auto-assinada) |
Quando Usar Esta Ferramenta
- Depuração de falhas de handshake TLS -- dividir uma cadeia para identificar intermediários faltando, ordenação errada, ou certificados duplicados causando erros SSL
- Extração de certificados específicos -- tirar um intermediário único de um bundle fornecido por uma Autoridade de Certificação
- Reordenação de cadeia de certificado -- alguns servidores web requerem uma ordem específica (folha primeiro, depois intermediários); divida a cadeia para reconstruir corretamente
- Auditoria de bundles de certificado -- identificar rapidamente o que está dentro de um arquivo de bundle sem executar
openssl x509em cada certificado manualmente - Preparação entre plataformas -- extrair certificados individualmente para sistemas que requerem arquivos separados (por exemplo, importações de Java KeyStore)
- Resposta a incidentes -- decomposição rápida de uma cadeia de um servidor falhando para identificar qual certificado está causando o problema
Como Funcionam as Cadeias de Certificado PEM
Um bundle PEM é simplesmente múltiplos certificados PEM concatenados em um arquivo único. Cada certificado começa com -----BEGIN CERTIFICATE----- e termina com -----END CERTIFICATE-----, com dados DER codificados em base64 entre os marcadores.
Ordem Correta de Cadeia
A ordem de cadeia padrão para servidores TLS é:
- Certificado folha -- o certificado do seu servidor (o para seu domínio)
- Certificado(s) intermediário -- uma ou mais CAs entre a folha e raiz
- Certificado raiz (opcional) -- a âncora de confiança; a maioria das configurações omite isto já que os clientes têm certificados raiz em seu armazenamento de confiança
Problemas Comuns de Cadeia que o Splitter Detecta
| Problema | Sintoma | Detecção |
|---|---|---|
| Ordem errada | Intermediários antes da folha | Cadeia subject/issuer não segue ordem sequencial |
| Intermediário faltando | Browser mostra "certificado não confiável" | Lacuna na ligação issuer-para-subject da cadeia |
| Certificado duplicado | Arquivo maior que esperado, largura de banda desperdiçada | Dois certificados com identical subject e número de série |
| Raiz auto-assinada incluída | Bytes desnecessários no handshake TLS | Último certificado tem matching subject e issuer |
| Certificado extra não relacionado | Bundle confuso | Issuer de certificado não encadeia a nenhum outro certificado no bundle |
Requisitos de Cadeia de Software de Servidor
Diferentes servidores manipulam arquivos de cadeia diferentemente:
- nginx --
ssl_certificateespera a folha mais intermediários em um arquivo, folha primeiro - Apache --
SSLCertificateFilepara a folha,SSLCertificateChainFilepara intermediários - HAProxy -- arquivo único com folha + intermediários + chave privada concatenados
- IIS -- importa bundles PKCS#12 (.pfx) através da GUI; cadeia instalada separadamente
Depurando Cadeias de Certificado na Prática
O problema de cadeia mais comum é um certificado intermediário faltando. Isto é complicado de diagnosticar porque browsers desktop frequentemente funcionam bem -- eles fazem cache de intermediários de conexões anteriores e podem buscar faltando através da extensão Authority Information Access (AIA). Mas clientes não-browser como curl, biblioteca requests do Python, aplicativos móveis, e dispositivos IoT não executam fetching de AIA. Eles confiam completamente no servidor enviando uma cadeia completa. Se seu site funciona em Chrome mas quebra em curl, um intermediário faltando é quase certamente a causa.
Para diagnosticar isto, recupere a cadeia do seu servidor com openssl s_client -connect yourserver.com:443 -showcerts, cole a saída neste splitter, e verifique se todos os intermediários estão presentes. Compare o Issuer de cada certificado contra o Subject do próximo. Se há uma lacuna -- o Issuer de um certificado não combina com o Subject de nenhum outro certificado no bundle -- você tem um intermediário faltando que precisa ser adicionado.
Outro problema comum é incluir o certificado raiz na cadeia. Enquanto isto não é tecnicamente um erro, desperdiça largura de banda porque os clientes já têm certificados raiz em seus armazenamentos de confiança. Cada handshake TLS envia a cadeia completa, então um certificado raiz desnecessário de 1-2 KB se soma através de milhões de conexões. Use o splitter para identificar a raiz (seu Subject e Issuer são idênticos) e remova-a do seu bundle a menos que você esteja implantando em ambientes com armazenamentos de confiança não-padrão.
Perguntas Frequentes
Como sei qual certificado é a folha e quais são intermediários?
O certificado folha (entidade final) tem um Subject que combina seu nome de domínio e seu Issuer é uma CA, não a si mesma. Certificados intermediários têm um Subject que combina o Issuer do certificado abaixo deles na cadeia. Um certificado raiz é auto-assinado -- seu Subject e Issuer são idênticos.
Por que meu browser funciona mas outros clientes falham?
Browsers frequentemente fazem cache de certificados intermediários de conexões anteriores ou buscam faltando usando a extensão Authority Information Access (AIA). Clientes não-browser (curl, aplicativos móveis, clientes de API) tipicamente não executam fetching de AIA, então eles falham se seu servidor não envia a cadeia completa. Use o splitter para verificar seu bundle inclui todos os intermediários necessários.
Devo incluir o certificado raiz em meu bundle?
Geralmente não. Certificados raiz são pré-instalados em armazenamentos de confiança de clientes, então enviá-los desperdiça largura de banda (tipicamente 1-2 KB por handshake). Porém, alguns ambientes especializados (dispositivos embarcados, CAs internas) podem requerer a raiz na cadeia. O splitter identifica certificados raiz para que você possa decidir se os inclui.
E se meu bundle contém certificados na ordem errada?
Divida o bundle, identifique papel de cada certificado, depois remonte usando o PEM Bundle Merger que automaticamente determina a ordem correta. A maioria dos servidores web modernos tolera cadeias fora de ordem, mas alguns clientes mais antigos podem falhar se a folha não é primeira.
Como obtenho a cadeia de certificado de um servidor em execução?
Execute openssl s_client -connect example.com:443 -showcerts </dev/null 2>/dev/null para recuperar a cadeia completa em formato PEM. Copie a saída incluindo todos os blocos BEGIN/END CERTIFICATE e cole no splitter.
Ferramentas Relacionadas
- PEM Bundle Merger - Remontar certificados individuais em uma cadeia adequadamente ordenada
- X.509 Certificate Viewer - Inspecionar os detalhes completos de cada certificado extraído
- Certificate Expiry Checker - Verificar datas de expiração para cada certificado na cadeia
- SAN Extractor - Extrair Subject Alternative Names do certificado folha
- Convert DER to PEM - Converter certificados DER binários para PEM antes de agrupar