| Extensão dos arquivos | .p12, .pfx |
|---|---|
| Internet media type |
application/x-pkcs12 |
| Uniform Type Identifier (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.
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 .
Esses arquivos podem ser criados, analisados e lidos com o comando OpenSSL pkcs12 .
PKCS #12 é o sucessor do "PFX" da Microsoft ; no entanto, os termos "arquivo PKCS #12" e "arquivo PFX" às vezes são usados de forma intercambiável.
O formato PFX foi criticado por ser um dos protocolos criptográficos mais complexos.
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.
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.