Correct the check of RSA_FLAG_SIGN_VER
authorJohn Eichenberger <john.eichenberger@honeywell.com>
Tue, 3 Apr 2018 23:08:31 +0000 (16:08 -0700)
committerJohn Eichenberger <john.eichenberger@honeywell.com>
Tue, 17 Apr 2018 16:02:04 +0000 (09:02 -0700)
commit82d8cec06ae8af5dbe68c8e4be38ad32ce9fa594
tree3315f4d865cd68701b8153275eee9978c658cf72
parent363c9f0ba4973a3d7d4ce743fadbc252aa9f0d4c
Correct the check of RSA_FLAG_SIGN_VER

The wrong flags were being tested. It is the rsa->meth flags not the rsa
flags that should be tested.

wpa_supplicant has a bit of code that
1. Allocates and defines a RSA_METHOD structure.
2. calls RSA_new();
3. calls RSA_set_method().

In current versions of that code the rsa_sign and rsa_verify members of
the RSA_METHOD structure are not defined, thus making it compatible
with the really old versions of OpenSSL.

But should one change it use the rsa_sign method one must set the
RSA_FLAG_SIGN_VER bit of the RSA_METHOD structure to indicate that
one or both of those new methods are required.  In doing so, OpenSSL
will not call the new methods, not without this change.

CLA: trivial

Change-Id: I6e65a80f21399f25e966466ff676e3b21f85f360

Reviewed-by: Rich Salz <rsalz@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5971)
crypto/rsa/rsa_sign.c