From 566bb4cefe0edcb26d9ef5973fb5782e992840f3 Mon Sep 17 00:00:00 2001 From: Jacob Barthelmeh Date: Wed, 16 May 2018 08:38:50 -0600 Subject: [PATCH] version for PBE SHA1 DES oid --- wolfcrypt/src/asn.c | 4 ---- wolfcrypt/src/pkcs12.c | 7 ++++++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/wolfcrypt/src/asn.c b/wolfcrypt/src/asn.c index a9f689adf..28b7a5666 100755 --- a/wolfcrypt/src/asn.c +++ b/wolfcrypt/src/asn.c @@ -2394,10 +2394,6 @@ static int CheckAlgo(int first, int second, int* id, int* version) return 0; #endif #ifndef NO_DES3 - case PBE_SHA1_DES: - *id = PBE_SHA1_DES; - *version = PKCS12v1; - return 0; case PBE_SHA1_DES3: *id = PBE_SHA1_DES3; *version = PKCS12v1; diff --git a/wolfcrypt/src/pkcs12.c b/wolfcrypt/src/pkcs12.c index 80f80d5c5..aebf2ed58 100644 --- a/wolfcrypt/src/pkcs12.c +++ b/wolfcrypt/src/pkcs12.c @@ -1150,7 +1150,7 @@ static int wc_PKCS12_shroud_key(WC_PKCS12* pkcs12, WC_RNG* rng, { void* heap; word32 tmpIdx = 0; - int vPKCS = 1; /* PKCS#12 is always set to 1 */ + int vPKCS = 1; /* PKCS#12 default set to 1 */ word32 sz; word32 totalSz = 0; int ret; @@ -1190,6 +1190,11 @@ static int wc_PKCS12_shroud_key(WC_PKCS12* pkcs12, WC_RNG* rng, else { WOLFSSL_MSG("creating PKCS12 Shrouded Key Bag"); + if (vAlgo == PBE_SHA1_DES) { + vPKCS = PKCS5; + vAlgo = 10; + } + ret = UnTraditionalEnc(key, keySz, out + tmpIdx, &sz, pass, passSz, vPKCS, vAlgo, NULL, 0, itt, rng, heap); }