diff options
author | Dr. Stephen Henson <steve@openssl.org> | 1999-06-06 23:34:44 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 1999-06-06 23:34:44 +0000 |
commit | 8e21c14607173ae5b0ea04c5a24b36514f6887f1 (patch) | |
tree | f7405084c830e15fe0ee4590bac6139eeda90938 /crypto/asn1/p5_pbe.c | |
parent | 2bd83ca1c95405fe03b33cdc98e6fa43e7258246 (diff) | |
download | openssl-8e21c14607173ae5b0ea04c5a24b36514f6887f1.tar.gz |
More PKCS#5 v2.0 development. Add a function to setup a PKCS#5 v2.0
AlgorithmIdentifier and make various ASN1 fixes.
Diffstat (limited to 'crypto/asn1/p5_pbe.c')
-rw-r--r-- | crypto/asn1/p5_pbe.c | 20 |
1 files changed, 2 insertions, 18 deletions
diff --git a/crypto/asn1/p5_pbe.c b/crypto/asn1/p5_pbe.c index c7a3ecf9fb..5145c6349e 100644 --- a/crypto/asn1/p5_pbe.c +++ b/crypto/asn1/p5_pbe.c @@ -63,8 +63,6 @@ /* PKCS#5 password based encryption structure */ -#define PKCS5_SALT_LEN 8 - int i2d_PBEPARAM(PBEPARAM *a, unsigned char **pp) { M_ASN1_I2D_vars(a); @@ -112,8 +110,6 @@ void PBEPARAM_free (PBEPARAM *a) X509_ALGOR *PKCS5_pbe_set(int alg, int iter, unsigned char *salt, int saltlen) { - unsigned char *pdata, *ptmp; - int plen; PBEPARAM *pbe; ASN1_OBJECT *al; X509_ALGOR *algor; @@ -132,17 +128,6 @@ X509_ALGOR *PKCS5_pbe_set(int alg, int iter, unsigned char *salt, pbe->salt->length = saltlen; if (salt) memcpy (pbe->salt->data, salt, saltlen); else RAND_bytes (pbe->salt->data, saltlen); - if (!(plen = i2d_PBEPARAM (pbe, NULL))) { - ASN1err(ASN1_F_ASN1_PBE_SET,ASN1_R_ENCODE_ERROR); - return NULL; - } - if (!(pdata = Malloc (plen))) { - ASN1err(ASN1_F_ASN1_PBE_SET,ERR_R_MALLOC_FAILURE); - return NULL; - } - ptmp = pdata; - i2d_PBEPARAM (pbe, &ptmp); - PBEPARAM_free (pbe); if (!(astype = ASN1_TYPE_new())) { ASN1err(ASN1_F_ASN1_PBE_SET,ERR_R_MALLOC_FAILURE); @@ -150,12 +135,11 @@ X509_ALGOR *PKCS5_pbe_set(int alg, int iter, unsigned char *salt, } astype->type = V_ASN1_SEQUENCE; - if (!(astype->value.sequence=ASN1_STRING_new())) { + if(!ASN1_pack_string(pbe, i2d_PBEPARAM, &astype->value.sequence)) { ASN1err(ASN1_F_ASN1_PBE_SET,ERR_R_MALLOC_FAILURE); return NULL; } - ASN1_STRING_set (astype->value.sequence, pdata, plen); - Free (pdata); + PBEPARAM_free (pbe); al = OBJ_nid2obj(alg); /* never need to free al */ if (!(algor = X509_ALGOR_new())) { |