Question

PKCS # 12 est un moyen pratique de former une clé privée avec son x correspondant.509 Certificat dans un format de fichier unique standardisé.Toutefois, la spécification a été publiée par RSalabs en 1999 et utilise uniquement RC4, RC2 et Tripledes pour cryptage symétrique.Existe-t-il des extensions semi-standard communes au schéma qui ajoutent plus d'algorithmes de cryptage ou d'autres fonctions de dérivation de clé? OpenSSL est documenté pour mettre en œuvre la prise en charge de AES et de Camellia, mais une recherche d'une norme correspondante devient vide,Cela semble donc être quelque chose de mise en œuvre spécifique à OpenSSL.Quelqu'un a-t-il documenté le module ASN.1 et le pseudo code pour ces extensions?

Était-ce utile?

La solution

PKCS n ° 12 utilise des blocs de construction d'autres normes.

Le mode de cryptage recommandé est basé sur le cryptage basé sur le mot de passe de PKCS n ° 5 (PBES2).Ceci a été étendu avec le support de SHA-2 et AES dans PKCS # 5 V.2.1 .

Quand OpenSSL utilise AES, cela le fait comme suit:

 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
            :                                   }
            :                                 }
            :                               }

Autant que je puisse lire la source, OpenSSL code le mot de passe comme ASCII plutôt que sur UTF-16 zéro lors de l'utilisation de PKCS # 5 PBES2.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top