O que é o formato de ficheiro PFX?
Arquivos .pfx estão associados ao padrão de criptografia PKCS #12, originalmente desenvolvido pela RSA Laboratories e agora governado pela RFC 7292.
Arquivos com a extensão .pfx armazenam objetos criptográficos criptografados e assinados digitalmente em um contêiner binário codificado em DER. Cada arquivo .pfx é dividido em chamados SafeBags, que também podem ser criptografados e assinados de forma independente. O padrão PKCS #12 divide ainda mais os SafeBags em tipos adequados para armazenar chaves privadas, certificados X.509, cadeias de certificados e outros dados de segurança.
O .pfx é mais comumente usado para agrupar uma chave privada junto com sua cadeia de certificados correspondente em um único arquivo protegido por senha. Os usos típicos incluem a exportação de certificados TLS/SSL entre servidores, a distribuição de identidades de assinatura de código e a transferência de credenciais S/MIME entre dispositivos.
.pfx e .p12 são funcionalmente idênticos - as ferramentas do Windows usam .pfx, enquanto o macOS e o Linux preferem .p12. Ambos podem ser convertidos para o formato de texto .pem com o comando openssl pkcs12. Ao contrário dos certificados .cer independentes, um arquivo .pfx carrega a chave privada junto com o certificado, tornando-o o formato preferido quando a chave deve acompanhar o certificado.
Segurança e proteção
RISCO: HIGHUm PFX contém uma CHAVE PRIVADA, por isso é um dos tipos de arquivo mais sensíveis que um usuário manipula: qualquer pessoa com o arquivo e sua senha pode personificar o proprietário do certificado - assinar códigos ou documentos como ele, ou configurar um servidor com sua identidade TLS. Nunca envie um PFX por e-mail sem proteção, nunca o envie para controle de código-fonte, use uma senha de exportação forte e armazene-o com segurança (idealmente exclua o arquivo após a importação). Trate um anexo .pfx inesperado como suspeito. Apenas gere/manipule arquivos PFX com ferramentas confiáveis (assistentes do SO, OpenSSL) - não sites aleatórios de «visualizador de certificados», que poderiam exfiltrar sua chave e senha.
Detalhes do formato
em resumoProgramas que abrem arquivos PFX
Detalhes técnicos
especificação profunda| Codificação do contêiner | DER binário (Distinguished Encoding Rules) sobre ASN.1; o arquivo não é legível por humanos sem um analisador dedicado |
| Tipo MIME | application/x-pkcs12 |
| Magic bytes | 30 82 no deslocamento 0 (ASN.1 DER SEQUENCE com comprimento de 2 bytes); compartilhado com outros formatos codificados em DER - identifique pela extensão ou tipo MIME, não apenas pelos bytes |
| Estrutura interna | Camadas aninhadas: PFX → AuthenticatedSafe → SafeContents → SafeBags; cada SafeBag contém um objeto criptográfico tipado |
| Tipos de SafeBag | KeyBag, PKCS8ShroudedKeyBag, CertBag, CRLBag, SecretBag, SafeContents - os seis tipos oficiais de SafeBag definidos na RFC 7292 |
| Proteção por senha | O arquivo geral e os SafeBags individuais podem ser criptografados independentemente com uma frase secreta escolhida pelo usuário via criptografia baseada em senha |
| Algoritmos de criptografia | AES-256-CBC e 3DES-CBC para pilhas modernas; RC2 e RC4 aparecem em arquivos legados (descontinuados - evite ao gerar novos arquivos) |
| Integridade MAC | Um HMAC (SHA-1 em legado; SHA-256 ou SHA-384 em implementações modernas) cobre a estrutura AuthenticatedSafe para detectar adulterações |
| Derivação de chave | PBKDF1 (RFC 7292 Apêndice B) ou PBKDF2 com contagem de iterações configurável reforça a criptografia baseada em senha contra ataques de força bruta |
| Nome Windows vs. IETF | .pfx é o sufixo original cunhado pela Microsoft; .p12 é o nome padrão da IETF; os dois são idênticos byte a byte e totalmente intercambiáveis |
| Armazenamento de múltiplos objetos | Um único .pfx pode conter vários certificados e chaves - por exemplo, uma cadeia completa de certificados de folha, intermediários e raiz da CA, além da chave privada |
| Conversão CLI comum | openssl pkcs12 -in arquivo.pfx -out arquivo.pem -nodes extrai para texto PEM; openssl pkcs12 -export -out arquivo.pfx agrupa entradas PEM em um novo arquivo |
| Suporte de plataforma | Nativo no Windows (Assistente para Importação de Certificados, certutil, PowerShell), macOS (Keychain Access), iOS, Android, Java (keytool) e na maioria das bibliotecas TLS |
| Casos de uso típicos | Implantação de certificados de servidor TLS/SSL, identidades de assinatura de código, chaves de e-mail S/MIME, credenciais de cliente VPN e provisionamento de smart cards |
| Lançado | PKCS #12 v1.0 published 1999 by RSA; Microsoft .pfx predates and feeds into it |
| Padrão aberto | Sim · livre de royalties |
| Especificação | www.rfc-editor.org |