summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/dsa/dsa_gen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/dsa/dsa_gen.c')
-rw-r--r--src/lib/libcrypto/dsa/dsa_gen.c31
1 files changed, 13 insertions, 18 deletions
diff --git a/src/lib/libcrypto/dsa/dsa_gen.c b/src/lib/libcrypto/dsa/dsa_gen.c
index 8b966871b4..dc04eba032 100644
--- a/src/lib/libcrypto/dsa/dsa_gen.c
+++ b/src/lib/libcrypto/dsa/dsa_gen.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dsa_gen.c,v 1.31 2024/03/02 09:33:14 tb Exp $ */ 1/* $OpenBSD: dsa_gen.c,v 1.32 2024/05/11 06:43:50 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -75,24 +75,19 @@ int
75DSA_generate_parameters_ex(DSA *ret, int bits, const unsigned char *seed_in, 75DSA_generate_parameters_ex(DSA *ret, int bits, const unsigned char *seed_in,
76 int seed_len, int *counter_ret, unsigned long *h_ret, BN_GENCB *cb) 76 int seed_len, int *counter_ret, unsigned long *h_ret, BN_GENCB *cb)
77{ 77{
78 if (ret->meth->dsa_paramgen) 78 const EVP_MD *evpmd;
79 return ret->meth->dsa_paramgen(ret, bits, seed_in, seed_len, 79 size_t qbits;
80 counter_ret, h_ret, cb); 80
81 else { 81 if (bits >= 2048) {
82 const EVP_MD *evpmd; 82 qbits = 256;
83 size_t qbits; 83 evpmd = EVP_sha256();
84 84 } else {
85 if (bits >= 2048) { 85 qbits = 160;
86 qbits = 256; 86 evpmd = EVP_sha1();
87 evpmd = EVP_sha256();
88 } else {
89 qbits = 160;
90 evpmd = EVP_sha1();
91 }
92
93 return dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in,
94 seed_len, NULL, counter_ret, h_ret, cb);
95 } 87 }
88
89 return dsa_builtin_paramgen(ret, bits, qbits, evpmd, seed_in, seed_len,
90 NULL, counter_ret, h_ret, cb);
96} 91}
97LCRYPTO_ALIAS(DSA_generate_parameters_ex); 92LCRYPTO_ALIAS(DSA_generate_parameters_ex);
98 93