diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2018-08-14 16:18:14 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2018-08-14 16:18:14 +0000 |
commit | 43a67e02da9068b94df1c07fc6f0d70bafd9263b (patch) | |
tree | ded01a82a7afcee0e7b8a379adbe42bd68ae3ce5 /crypto/dsa/dsa_gen.c | |
parent | 02be298e504b8554caca6dc85af450e1ea44d19d (diff) |
Notes
Diffstat (limited to 'crypto/dsa/dsa_gen.c')
-rw-r--r-- | crypto/dsa/dsa_gen.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/crypto/dsa/dsa_gen.c b/crypto/dsa/dsa_gen.c index 21af2e159fb2..db52a38a1882 100644 --- a/crypto/dsa/dsa_gen.c +++ b/crypto/dsa/dsa_gen.c @@ -146,9 +146,16 @@ int dsa_builtin_paramgen(DSA *ret, size_t bits, size_t qbits, /* invalid q size */ return 0; - if (evpmd == NULL) - /* use SHA1 as default */ - evpmd = EVP_sha1(); + if (evpmd == NULL) { + if (qsize == SHA_DIGEST_LENGTH) + evpmd = EVP_sha1(); + else if (qsize == SHA224_DIGEST_LENGTH) + evpmd = EVP_sha224(); + else + evpmd = EVP_sha256(); + } else { + qsize = EVP_MD_size(evpmd); + } if (bits < 512) bits = 512; |