summaryrefslogtreecommitdiffstats
path: root/crypto/dsa
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/dsa')
-rw-r--r--crypto/dsa/dsa_pmeth.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/crypto/dsa/dsa_pmeth.c b/crypto/dsa/dsa_pmeth.c
index f66317b87d..b4ee5a7571 100644
--- a/crypto/dsa/dsa_pmeth.c
+++ b/crypto/dsa/dsa_pmeth.c
@@ -77,13 +77,8 @@ static int pkey_dsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig,
DSA_PKEY_CTX *dctx = ctx->data;
DSA *dsa = ctx->pkey->pkey.dsa;
- if (dctx->md) {
- if (tbslen != (size_t)EVP_MD_size(dctx->md))
- return 0;
- } else {
- if (tbslen != SHA_DIGEST_LENGTH)
- return 0;
- }
+ if (dctx->md != NULL && tbslen != (size_t)EVP_MD_size(dctx->md))
+ return 0;
ret = DSA_sign(0, tbs, tbslen, sig, &sltmp, dsa);
@@ -101,13 +96,8 @@ static int pkey_dsa_verify(EVP_PKEY_CTX *ctx,
DSA_PKEY_CTX *dctx = ctx->data;
DSA *dsa = ctx->pkey->pkey.dsa;
- if (dctx->md) {
- if (tbslen != (size_t)EVP_MD_size(dctx->md))
- return 0;
- } else {
- if (tbslen != SHA_DIGEST_LENGTH)
- return 0;
- }
+ if (dctx->md != NULL && tbslen != (size_t)EVP_MD_size(dctx->md))
+ return 0;
ret = DSA_verify(0, tbs, tbslen, sig, siglen, dsa);