diff options
author | Bodo Möller <bodo@openssl.org> | 2002-03-14 09:52:03 +0000 |
---|---|---|
committer | Bodo Möller <bodo@openssl.org> | 2002-03-14 09:52:03 +0000 |
commit | 690ecff7953193cc8e66b588216805f3014df778 (patch) | |
tree | c21fb14c3d0b01ae50dd4c9d8a485b8824d78e35 /crypto/evp/evp_pkey.c | |
parent | 234c73767daf1dfadbdbff3f884d7cfffff2846c (diff) | |
download | openssl-690ecff7953193cc8e66b588216805f3014df778.tar.gz |
Fixes for 'no-hw' combined with 'no-SOME_CIPHER'.
Fix dsaparam usage output.
Submitted by: Nils Larsch
Diffstat (limited to 'crypto/evp/evp_pkey.c')
-rw-r--r-- | crypto/evp/evp_pkey.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/crypto/evp/evp_pkey.c b/crypto/evp/evp_pkey.c index 15d4d66721..3577837fa9 100644 --- a/crypto/evp/evp_pkey.c +++ b/crypto/evp/evp_pkey.c @@ -83,7 +83,7 @@ EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8) #ifndef OPENSSL_NO_ECDSA ECDSA *ecdsa = NULL; #endif -#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_ECDSA) +#if !defined(OPENSSL_NO_DSA) || !defined(OPENSSL_NO_ECDSA) ASN1_INTEGER *privkey; ASN1_TYPE *t1, *t2, *param = NULL; STACK_OF(ASN1_TYPE) *n_stack = NULL; @@ -92,9 +92,7 @@ EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8) #endif X509_ALGOR *a; unsigned char *p; -#ifndef OPENSSL_NO_RSA const unsigned char *cp; -#endif int pkeylen; int nid; char obj_tmp[80]; @@ -126,7 +124,7 @@ EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8) EVP_PKEY_assign_RSA (pkey, rsa); break; #endif -#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_ECDSA) +#if !defined(OPENSSL_NO_DSA) || !defined(OPENSSL_NO_ECDSA) case NID_ecdsa_with_SHA1: case NID_dsa: /* PKCS#8 DSA/ECDSA is weird: you just get a private key integer @@ -279,8 +277,12 @@ EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8) err: if (ctx) BN_CTX_free(ctx); sk_ASN1_TYPE_pop_free(n_stack, ASN1_TYPE_free); +#ifndef OPENSSL_NO_DSA if (dsa) DSA_free(dsa); +#endif +#ifndef OPENSSL_NO_ECDSA if (ecdsa) ECDSA_free(ecdsa); +#endif if (pkey) EVP_PKEY_free(pkey); return NULL; break; |