Introdução
Trabalhar com certificados digitais frequentemente exige converter entre diferentes formatos. Cada sistema pode exigir um formato específico, e saber como fazer essa conversão é útil para o dia a dia do desenvolvedor fiscal.
Neste artigo, vamos explicar os principais formatos de certificado e como converter entre eles, destacando compatibilidade, preservação de dados e cuidados com chaves privadas.
Principais Formatos de Certificado
PFX (PKCS#12)
- Extensões: .pfx, .p12
- Conteúdo: Certificado + chave privada + cadeia
- Proteção: Senha
- Uso principal: Sistemas SEFAZ, Windows
PEM (Privacy Enhanced Mail)
- Extensões: .pem, .crt, .cer, .key
- Conteúdo: Texto em Base64 com headers
- Proteção: Permissões do sistema
- Uso principal: Servidores Linux, APIs
DER (Distinguished Encoding Rules)
- Extensões: .der, .cer
- Conteúdo: Formato binário do certificado
- Proteção: Sem proteção incorporada
- Uso principal: Sistemas Java, dispositivos
Conversões Comuns
PFX para PEM
Quando usar: Configuração de servidores web, APIs
Processo:
- Extrair o certificado público
- Extrair a chave privada
- Extrair a cadeia de certificados
Usando OpenSSL:
# Extrair certificado openssl pkcs12 -in certificado.pfx -clcerts -nokeys -out certificado.crt # Extrair chave privada openssl pkcs12 -in certificado.pfx -nocerts -out chave.key # Extrair cadeia openssl pkcs12 -in certificado.pfx -nokeys -out cadeia.crt
Usando ferramenta online: Nosso Conversor PFX para PEM faz isso automaticamente.
PEM para PFX
Quando usar: Envio para sistemas SEFAZ, cópia de segurança completa
Processo:
- Combinar certificado e chave em um único arquivo
- Proteger com senha
- Gerar arquivo PFX
Usando OpenSSL:
openssl pkcs12 -export -out certificado.pfx -inkey chave.key -in certificado.crt
Usando ferramenta online: Nosso Conversor PEM para PFX combina os arquivos automaticamente.
PFX para CER
Quando usar: Apenas o certificado público, sem chave privada
Processo:
- Extrair apenas o certificado
- Salvar em formato PEM ou DER
Usando OpenSSL:
openssl pkcs12 -in certificado.pfx -clcerts -nokeys -out certificado.cer
PEM para DER
Quando usar: Sistemas que exigem formato binário
Processo:
- Converter Base64 para binário
- Salvar em formato DER
Usando OpenSSL:
openssl x509 -in certificado.pem -outform DER -out certificado.der
Erros Comuns
Senha Incorreta
Erro: "mac verify failure" ou "bad decrypt"
Solução: Verifique se a senha está correta. Se esqueceu, use nossa Ferramenta de Visualização para confirmar que o certificado existe.
Arquivo Corrompido
Erro: "unable to load certificate" ou "not a valid PEM format"
Solução: Verifique se o arquivo não está danificado. Tente baixar novamente da autoridade certificadora.
Chave Privada Não Corresponde
Erro: "key and certificate don't match"
Solução: Certifique-se de usar a chave privada correta para o certificado. A chave deve ter sido gerada junto com o CSR.
Boas Práticas
- Mantenha cópias de segurança dos dois formatos: Guarde tanto PFX quanto PEMs
- Valide após conversão: Use ferramentas de visualização para conferir
- Proteja os arquivos: Use senhas fortes e permissões restritas
- Documente: Registre qual formato está usando em cada ambiente
- Teste antes de produzir: Sempre valide em homologação
Casos de Uso Práticos
Configuração de Nginx
server { listen 443 ssl; ssl_certificate /caminho/certificado.crt; ssl_certificate_key /caminho/chave.key; }
Configuração de Node.js
const https = require('https'); const fs = require('fs'); const options = { key: fs.readFileSync('chave.key'), cert: fs.readFileSync('certificado.crt') }; https.createServer(options, app).listen(443);
Envio para SEFAZ
<certificado> <arquivo>certificado.pfx</arquivo> <senha>senha_do_certificado</senha> </certificado>
Aplicação prática no FiscalDev Tools
Antes de converter, identifique se o sistema de destino precisa do certificado, da cadeia, da chave privada ou de mais de um desses componentes. Faça uma cópia de segurança controlada, anote o formato de origem e teste a abertura do arquivo convertido em ambiente isolado.
Checklist de revisão antes de usar
Confira se a cadeia foi preservada, se o certificado corresponde à chave e se a senha funciona. PEM que contenha PRIVATE KEY deve ser tratado como segredo e não deve ser versionado, anexado a chamados ou enviado a um serviço que não esteja autorizado.
Conclusão
Converter entre formatos de certificado é uma habilidade importante para desenvolvedores fiscais. Com as ferramentas corretas e o conhecimento técnico adequado, você pode transitar facilmente entre PFX, PEM e outros formatos.
Use nossas ferramentas online para realizar conversões e conferir os arquivos resultantes. Depois, valide a compatibilidade no sistema de destino e proteja qualquer PEM que contenha chave privada.
Fontes consultadas
Referências primárias usadas para conferir conceitos, padrões e regras citados neste guia.
Perguntas frequentes
Pronto para colocar em prática?
Use nossas ferramentas gratuitas para inspecionar XMLs, gerenciar certificados e explorar dados de teste. Quando indicado na página, o processamento ocorre no navegador; confira o escopo antes de inserir dados.
Explorar ferramentas