The SHA256 is not a mandatory digest for DSA.
authorTomas Mraz <tmraz@fedoraproject.org>
Mon, 27 May 2019 14:52:03 +0000 (16:52 +0200)
committerTomas Mraz <tmraz@fedoraproject.org>
Tue, 28 May 2019 15:22:14 +0000 (17:22 +0200)
The #7408 implemented mandatory digest checking in TLS.
However this broke compatibility of DSS support with GnuTLS
which supports only SHA1 with DSS.

There is no reason why SHA256 would be a mandatory digest
for DSA as other digests in SHA family can be used as well.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/9015)

(cherry picked from commit cd4c83b52423008391b50abcccf18a7d8fcce03b)

crypto/dsa/dsa_ameth.c

index 9c5b8aa02e9dbd90cb3542836a258094b872e680..c82e3bdd05732b5bdecf84100c37965c6d97c1df 100644 (file)
@@ -503,7 +503,7 @@ static int dsa_pkey_ctrl(EVP_PKEY *pkey, int op, long arg1, void *arg2)
 
     case ASN1_PKEY_CTRL_DEFAULT_MD_NID:
         *(int *)arg2 = NID_sha256;
-        return 2;
+        return 1;
 
     default:
         return -2;