PKCS#8 fixes from stable branch.
This commit is contained in:
parent
0efea28dcb
commit
c39c32dd65
@ -1,6 +1,6 @@
|
|||||||
/* p5_pbev2.c */
|
/* p5_pbev2.c */
|
||||||
/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
|
/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
|
||||||
* project 1999.
|
* project 1999-2004.
|
||||||
*/
|
*/
|
||||||
/* ====================================================================
|
/* ====================================================================
|
||||||
* Copyright (c) 1999 The OpenSSL Project. All rights reserved.
|
* Copyright (c) 1999 The OpenSSL Project. All rights reserved.
|
||||||
@ -113,8 +113,9 @@ X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter,
|
|||||||
if(!(scheme->parameter = ASN1_TYPE_new())) goto merr;
|
if(!(scheme->parameter = ASN1_TYPE_new())) goto merr;
|
||||||
|
|
||||||
/* Create random IV */
|
/* Create random IV */
|
||||||
if (RAND_pseudo_bytes(iv, EVP_CIPHER_iv_length(cipher)) < 0)
|
if (EVP_CIPHER_iv_length(cipher) &&
|
||||||
goto err;
|
RAND_pseudo_bytes(iv, EVP_CIPHER_iv_length(cipher)) < 0)
|
||||||
|
goto err;
|
||||||
|
|
||||||
EVP_CIPHER_CTX_init(&ctx);
|
EVP_CIPHER_CTX_init(&ctx);
|
||||||
|
|
||||||
@ -123,6 +124,7 @@ X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter,
|
|||||||
if(EVP_CIPHER_param_to_asn1(&ctx, scheme->parameter) < 0) {
|
if(EVP_CIPHER_param_to_asn1(&ctx, scheme->parameter) < 0) {
|
||||||
ASN1err(ASN1_F_PKCS5_PBE2_SET,
|
ASN1err(ASN1_F_PKCS5_PBE2_SET,
|
||||||
ASN1_R_ERROR_SETTING_CIPHER_PARAMS);
|
ASN1_R_ERROR_SETTING_CIPHER_PARAMS);
|
||||||
|
EVP_CIPHER_CTX_cleanup(&ctx);
|
||||||
goto err;
|
goto err;
|
||||||
}
|
}
|
||||||
EVP_CIPHER_CTX_cleanup(&ctx);
|
EVP_CIPHER_CTX_cleanup(&ctx);
|
||||||
|
@ -68,7 +68,7 @@ int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type)
|
|||||||
if (c->cipher->set_asn1_parameters != NULL)
|
if (c->cipher->set_asn1_parameters != NULL)
|
||||||
ret=c->cipher->set_asn1_parameters(c,type);
|
ret=c->cipher->set_asn1_parameters(c,type);
|
||||||
else
|
else
|
||||||
ret=1;
|
ret=-1;
|
||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type)
|
|||||||
if (c->cipher->get_asn1_parameters != NULL)
|
if (c->cipher->get_asn1_parameters != NULL)
|
||||||
ret=c->cipher->get_asn1_parameters(c,type);
|
ret=c->cipher->get_asn1_parameters(c,type);
|
||||||
else
|
else
|
||||||
ret=1;
|
ret=-1;
|
||||||
return(ret);
|
return(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user