Y a-t-il des extensions publiées à PKCS n ° 12?
-
10-12-2019 - |
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?
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.