Extensão dos arquivos | .p12 , .pfx |
---|---|
Internet media type |
application/x-pkcs12
|
Uniform Type Identifier<span typeof="mw:Entity"> </span>(UTI) | com.rsa.pkcs-12 |
Desenvolvido por | RSA Security |
Lançamento | 1996 |
Versão mais recente | PKCS #12 v1.1
27 October 2012 |
Tipo de arquivo | Archive file format |
Container for | X.509 public key certificates, X.509 private keys, X.509 CRLs, generic data |
Estendido por | Microsoft PFX file format |
Em criptografia, o PKCS #12 define um formato de arquivo para armazenar muitos objetos de criptografia como um único arquivo. E tal arquivo é usado para agrupar uma chave privada com seu certificado X.509 ou todos os membros de uma cadeia de confiança .
Um arquivo PKCS #12 pode ser criptografado e assinado, assim como seus contêineres de armazenamento interno (também chamados de "SafeBags"). Alguns SafeBags são predefinidos para armazenar certificados, chaves privadas e CRLs . Outro SafeBag é fornecido para armazenar quaisquer outros dados à escolha do implementador individual.[1][2]
O PKCS #12 faz parte da família de padrões chamados Public-Key Cryptography Standards (PKCS) publicados pela RSA Laboratories, com a extensão de arquivo para arquivos PKCS #12 é .p12
ou .pfx
.[3]
Esses arquivos podem ser criados, analisados e lidos com o comando OpenSSL pkcs12
.[4]
PKCS #12 é o sucessor do "PFX" da Microsoft ;[5] no entanto, os termos "arquivo PKCS #12" e "arquivo PFX" às vezes são usados de forma intercambiável.[3][4][6]
O formato PFX foi criticado por ser um dos protocolos criptográficos mais complexos.[6]
O PKCS completo O padrão nº 12 é muito complexo. Ele permite baldes de objetos complexos, como PKCS<span typeof="mw:Entity" id="mwOA"> </span># 8 estruturas, aninhadas profundamente. Mas, na prática, normalmente é usado para armazenar apenas uma chave privada e sua cadeia de certificados associada.
PKCS Os arquivos nº 12 geralmente são criados usando o OpenSSL, que suporta apenas uma única chave privada na interface da linha de comando. A keytool Java pode ser usada para criar várias "entradas", pois Java 8, mas isso pode ser incompatível com muitos outros sistemas. A partir de Java 9, PKCS #12 é o formato de armazenamento de chave padrão.[7][8]
Um formato alternativo mais simples ao PKCS #12 é o PEM que apenas lista os certificados e possivelmente as chaves privadas como Base 64 strings em um arquivo de texto.
O certtool do GnuTLS também pode ser usado para criar PKCS #12 arquivos incluindo certificados, chaves e certificados CA via --to-p12 . No entanto, esteja ciente de que, para intercambiabilidade com outro software, se as fontes estiverem no texto PEM Base64, então --outder também deve ser usado.