diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2011-04-23 21:59:12 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2011-04-23 21:59:12 +0000 |
commit | 69a80f7d5e1363276a9588546df28782a18a8c36 (patch) | |
tree | 0ea39725967589e7a2a3bb9fdd2a648e17755214 /apps/dsaparam.c | |
parent | dc03504d090d7b4754bdd65f50d71d35ecb08390 (diff) | |
download | openssl-69a80f7d5e1363276a9588546df28782a18a8c36.tar.gz |
More fixes for DSA FIPS overrides.
Diffstat (limited to 'apps/dsaparam.c')
-rw-r--r-- | apps/dsaparam.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/apps/dsaparam.c b/apps/dsaparam.c index deb4aa9444..03e33f9f7e 100644 --- a/apps/dsaparam.c +++ b/apps/dsaparam.c @@ -435,13 +435,21 @@ bad: assert(need_rand); if ((dsakey=DSAparams_dup(dsa)) == NULL) goto end; - if (!DSA_generate_key(dsakey)) goto end; + if (non_fips_allow) + dsakey->flags |= DSA_FLAG_NON_FIPS_ALLOW; + if (!DSA_generate_key(dsakey)) + { + ERR_print_errors(bio_err); + DSA_free(dsakey); + goto end; + } if (outformat == FORMAT_ASN1) i=i2d_DSAPrivateKey_bio(out,dsakey); else if (outformat == FORMAT_PEM) i=PEM_write_bio_DSAPrivateKey(out,dsakey,NULL,NULL,0,NULL,NULL); else { BIO_printf(bio_err,"bad output format specified for outfile\n"); + DSA_free(dsakey); goto end; } DSA_free(dsakey); |