EVP_Digest*: enable SHA3 pre-hashing for DSA
authorPatrick Steuer <patrick.steuer@de.ibm.com>
Tue, 21 May 2019 16:50:39 +0000 (18:50 +0200)
committerPatrick Steuer <patrick.steuer@de.ibm.com>
Wed, 22 May 2019 14:49:49 +0000 (16:49 +0200)
Fixes #7323

Signed-off-by: Patrick Steuer <patrick.steuer@de.ibm.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8970)

crypto/dsa/dsa_pmeth.c

index 0916f97e54e27af50e8f7f377e8bf8047c3408ea..a21e01015b4e1e87cb9d6f800847101ba95364ef 100644 (file)
@@ -138,7 +138,11 @@ static int pkey_dsa_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
             EVP_MD_type((const EVP_MD *)p2) != NID_sha224 &&
             EVP_MD_type((const EVP_MD *)p2) != NID_sha256 &&
             EVP_MD_type((const EVP_MD *)p2) != NID_sha384 &&
-            EVP_MD_type((const EVP_MD *)p2) != NID_sha512) {
+            EVP_MD_type((const EVP_MD *)p2) != NID_sha512 &&
+            EVP_MD_type((const EVP_MD *)p2) != NID_sha3_224 &&
+            EVP_MD_type((const EVP_MD *)p2) != NID_sha3_256 &&
+            EVP_MD_type((const EVP_MD *)p2) != NID_sha3_384 &&
+            EVP_MD_type((const EVP_MD *)p2) != NID_sha3_512) {
             DSAerr(DSA_F_PKEY_DSA_CTRL, DSA_R_INVALID_DIGEST_TYPE);
             return 0;
         }