Há alguma publicado extensões de arquivo PKCS#12?
-
10-12-2019 - |
Pergunta
PKCS#12 é uma forma conveniente de amalgamar uma chave privada com a sua correspondente X. 509 certificado em um padrão de formato de ficheiro único.No entanto, a especificação foi publicada pela RSALabs em 1999 e só usa RC4, RC2 e TripleDES para a criptografia simétrica.Existem comum semi-extensões padrão para o esquema de adicionar mais algoritmos de criptografia ou outras chave de derivação de funções? OpenSSL é documentados para implementar o suporte para o AES e o de Camélia, mas uma busca por um padrão correspondente transforma-se em branco, de modo que este parece ser algo específico para implementação de OpenSSL.Alguém tem documentado a ASN.1 módulo e o pseudo-código para essas extensões?
Solução
PKCS#12 usa os blocos de construção a partir de outros padrões.
O recomendado criptografia modo é baseado em palavra-passe de base de criptografia PKCS#5 (PBES2).Este foi estendido com suporte para SHA-2 e AES em PKCS#5, v. 2.1.
Quando OpenSSL utiliza o AES não é como este:
684 30 806: SEQUENCE {
688 30 802: SEQUENCE {
692 06 11: OBJECT IDENTIFIER
: pkcs-12-pkcs-8ShroudedKeyBag (1 2 840 113549 1 12 10 1 2)
705 A0 723: [0] {
709 30 719: SEQUENCE {
713 30 73: SEQUENCE {
715 06 9: OBJECT IDENTIFIER
: pkcs5PBES2 (1 2 840 113549 1 5 13)
726 30 60: SEQUENCE {
728 30 27: SEQUENCE {
730 06 9: OBJECT IDENTIFIER
: pkcs5PBKDF2 (1 2 840 113549 1
5 12)
741 30 14: SEQUENCE {
743 04 8: OCTET STRING
: BA 6B 5B B3 47 27 C9 73
753 02 2: INTEGER 2048
: }
: }
757 30 29: SEQUENCE {
759 06 9: OBJECT IDENTIFIER
: aes128-CBC (2 16 840 1 101 3 4 1 2)
770 04 16: OCTET STRING
: 0F 79 79 0A D3 EC C0 3E 20 B8 51 85 2F 2B 6C 29
: }
: }
: }
Tanto quanto eu posso ler a fonte, OpenSSL codifica a senha como ASCII ao invés de zero, terminada em UTF-16 quando usando PKCS#5 PBES2.