Revert "Don't check RSA_FLAG_SIGN_VER."
authorKurt Roeckx <kurt@roeckx.be>
Sat, 20 Feb 2016 14:29:45 +0000 (15:29 +0100)
committerKurt Roeckx <kurt@roeckx.be>
Sat, 27 Feb 2016 12:12:02 +0000 (13:12 +0100)
This reverts commit 6656ba7152dfe4bba865e327dd362ea08544aa80.

This broke existing engines that didn't properly implement the sign and verify
functions.

Reviewed-by: Richard Levitte <levitte@openssl.org>
MR: #2077

crypto/rsa/rsa_sign.c

index ed63a1d8b0e3fe7da135bb107e71fb6200c94c8c..82ca8324dfbc11c02736e0abffe5b7649b313b36 100644 (file)
@@ -84,7 +84,7 @@ int RSA_sign(int type, const unsigned char *m, unsigned int m_len,
         return 0;
     }
 #endif
-    if (rsa->meth->rsa_sign) {
+    if ((rsa->flags & RSA_FLAG_SIGN_VER) && rsa->meth->rsa_sign) {
         return rsa->meth->rsa_sign(type, m, m_len, sigret, siglen, rsa);
     }
     /* Special case: SSL signature, just check the length */
@@ -293,7 +293,7 @@ int RSA_verify(int dtype, const unsigned char *m, unsigned int m_len,
                const unsigned char *sigbuf, unsigned int siglen, RSA *rsa)
 {
 
-    if (rsa->meth->rsa_verify) {
+    if ((rsa->flags & RSA_FLAG_SIGN_VER) && rsa->meth->rsa_verify) {
         return rsa->meth->rsa_verify(dtype, m, m_len, sigbuf, siglen, rsa);
     }