Pular para o conteúdo
ecdsa.com

PKCS #12 (PFX)

O formato de arquivo protegido por senha da RFC 7292, normalmente salvo como .p12 ou .pfx, que reúne uma chave privada e sua cadeia de certificados para importação em navegadores, Windows, macOS, Java e Android.
Também escrito comoPFXP12.p12.pfxPKCS#12

Um arquivo PKCS #12 é uma estrutura PFX: conteúdos seguros autenticados (authenticated safe) com bags (keyBag, pkcs8ShroudedKeyBag, certBag, crlBag, secretBag) que trazem nomes amigáveis e IDs de chave locais, além de um MAC de integridade derivado da senha. A RFC 9579 (2024) acrescenta o PBMAC1, que substitui a derivação legada da chave do MAC, específica do PKCS #12, pelo PBKDF2.

Os algoritmos padrão decidem a compatibilidade. O pkcs12 -export do OpenSSL 3.6.5 grava AES-256-CBC com PBKDF2 (2.048 iterações) tanto para os certificados quanto para as chaves e um MAC HMAC-SHA-256; com -legacy, grava RC2-40 para os certificados, 3DES para a chave e um MAC HMAC-SHA-1, que as versões mais antigas do Windows, do macOS e do Java exigem. O Java usa PKCS #12 como tipo de keystore padrão desde o JDK 9.

Erros como “mac verify failure” geralmente indicam uma senha errada, e “unsupported algorithm RC2-40-CBC” indica um arquivo legado aberto sem o provedor legado do OpenSSL. O inspetor de PFX lista os bags e os algoritmos localmente, sem exportar a chave.

Padrões e referências

Todos os termos