diff options
author | sangwan.kwon <sangwan.kwon@samsung.com> | 2015-12-18 14:13:27 +0900 |
---|---|---|
committer | sangwan.kwon <sangwan.kwon@samsung.com> | 2015-12-18 14:14:57 +0900 |
commit | 6a424b1e0ec46f307697ffe971a3e46b3129f693 (patch) | |
tree | 063e9bd46b09b57192b9af486e0649a139c40712 /crypto/dsa/dsa_gen.c | |
parent | 7bb2e75e597abc44122a538b5935153bf1ecb9ec (diff) | |
parent | 2b3ef38d58c1bb0abff4bf611177fc76e78325fa (diff) | |
download | openssl-tizen.tar.gz openssl-tizen.tar.bz2 openssl-tizen.zip |
Upgrade Upstream version 1.0.2eHEADsubmit/tizen/20151228.015607tizen
Change-Id: If6afd73ecd5ef4548b9389eca6e53946aac3b9f2
Diffstat (limited to 'crypto/dsa/dsa_gen.c')
-rw-r--r-- | crypto/dsa/dsa_gen.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/crypto/dsa/dsa_gen.c b/crypto/dsa/dsa_gen.c index 5a328aa..15f3bb4 100644 --- a/crypto/dsa/dsa_gen.c +++ b/crypto/dsa/dsa_gen.c @@ -114,16 +114,8 @@ int DSA_generate_parameters_ex(DSA *ret, int bits, } # endif else { - const EVP_MD *evpmd; - size_t qbits = bits >= 2048 ? 256 : 160; - - if (bits >= 2048) { - qbits = 256; - evpmd = EVP_sha256(); - } else { - qbits = 160; - evpmd = EVP_sha1(); - } + const EVP_MD *evpmd = bits >= 2048 ? EVP_sha256() : EVP_sha1(); + size_t qbits = EVP_MD_size(evpmd) * 8; return dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in, seed_len, NULL, counter_ret, @@ -176,13 +168,14 @@ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits, if (seed_in != NULL) memcpy(seed, seed_in, seed_len); - if ((ctx = BN_CTX_new()) == NULL) + if ((mont = BN_MONT_CTX_new()) == NULL) goto err; - if ((mont = BN_MONT_CTX_new()) == NULL) + if ((ctx = BN_CTX_new()) == NULL) goto err; BN_CTX_start(ctx); + r0 = BN_CTX_get(ctx); g = BN_CTX_get(ctx); W = BN_CTX_get(ctx); @@ -203,7 +196,7 @@ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits, if (!BN_GENCB_call(cb, 0, m++)) goto err; - if (!seed_len) { + if (!seed_len || !seed_in) { if (RAND_pseudo_bytes(seed, qsize) < 0) goto err; seed_is_random = 1; |