Rework pkey_dsa_sign() and pkey_dsa_verify()
authortb <tb@openbsd.org>
Sat, 19 Nov 2022 11:53:38 +0000 (11:53 +0000)
committertb <tb@openbsd.org>
Sat, 19 Nov 2022 11:53:38 +0000 (11:53 +0000)
commit4a91dbbd09fc171978aa17d11e9641e2209a3a32
tree542a63d83f4eb4370b6a922a56f2226e3df016cc
parent0c6c9df49e0705b9b151b8603834dcfc013ea7e7
Rework pkey_dsa_sign() and pkey_dsa_verify()

Since DSA_sign() and DSA_verify() ignore their type argument, don't bother
to determine it here. Check all size_t for overflow before passing them as
int arguments. Follow OpenSSL and add a check to see if the tbs blob's
length matches the one of the md, in case it is set on the EVP_PKEY_CTX.
Fix return value check of DSA_sign().

ok jsing
lib/libcrypto/dsa/dsa_pmeth.c