PKCS 12

Origem: Wikipédia, a enciclopédia livre.
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 (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]

  1. «PKCS #12: Personal Information Exchange Syntax Standard». RSA Laboratories. Arquivado do original em 17 de abril de 2017 
  2. «PKCS 12 v1.0: Personal Information Exchange Syntax» (PDF). RSA Laboratories. 24 de junho de 1999. Consultado em 16 de janeiro de 2020 
  3. 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 
  4. a b «openssl-cmds: pkcs12». OpenSSL Project. 2019. Consultado em 16 de janeiro de 2020 
  5. Peter Gutmann (agosto 2002). «Lessons Learned in Implementing and Deploying Crypto Software» (PDF). The USENIX Association. Consultado em 16 de janeiro de 2020 
  6. 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 
  7. «JEP 229: Create PKCS12 Keystores by Default». OpenJDK JEPs. Oracle Corporation. 30 de maio de 2014 
  8. 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]

Predefinição:PKCS navbox