PKCS 12
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]
Relação com o formato de arquivo PFX
[editar | editar código-fonte]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]
Uso normal
[editar | editar código-fonte]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.
Referências
[editar | editar código-fonte]- ↑ «PKCS #12: Personal Information Exchange Syntax Standard». RSA Laboratories. Arquivado do original em 17 de abril de 2017
- ↑ «PKCS 12 v1.0: Personal Information Exchange Syntax» (PDF). RSA Laboratories. 24 de junho de 1999. Consultado em 16 de janeiro de 2020
- ↑ a b Michel I. Gallant (março 2004). «PKCS #12 File Types: Portable Protected Keys in .NET». Microsoft Corporation. Consultado em 14 de março de 2013
- ↑ a b «openssl-cmds: pkcs12». OpenSSL Project. 2019. Consultado em 16 de janeiro de 2020
- ↑ Peter Gutmann (agosto 2002). «Lessons Learned in Implementing and Deploying Crypto Software» (PDF). The USENIX Association. Consultado em 16 de janeiro de 2020
- ↑ a b Peter Gutmann (12 de março de 1998). «PFX - How Not to Design a Crypto Protocol/Standard». Consultado em 16 de janeiro de 2020
- ↑ «JEP 229: Create PKCS12 Keystores by Default». OpenJDK JEPs. Oracle Corporation. 30 de maio de 2014
- ↑ Ryan, Vincent (30 de maio de 2014). «Bug JDK-8044445: Create PKCS12 Keystores by Default». JDK Bug System
Ligações externas
[editar | editar código-fonte]- - PKCS #12: Personal Information Exchange Syntax v1.1
- «PKCS #12: Personal Information Exchange Syntax Standard». RSA Laboratories. Arquivado do original em 17 de abril de 2017
- Visão geral sobre os recursos, uso, implementações, histórico e futuro do PKCS#12:Ryan Hurst and Yury Strozhevsky (2 de dezembro de 2015). «The PKCS#12 standard needs another update». Arquivado do original em 3 de março de 2017 "O padrão PKCS#12 precisa de outra atualização" . Arquivado do original em 2017-03-03.