#undef X509_EXTENSIONS to avoid conflict with CryptoAPI.
[oweals/openssl.git] / crypto / rsa / rsa_pmeth.c
index 333d5675ac2036d24677c32586af7640a3f0a7c7..de917c637ab8095d410da743188cac1637e41b31 100644 (file)
 #include <openssl/rsa.h>
 #include <openssl/evp.h>
 #include "evp_locl.h"
-
-extern int int_rsa_verify(int dtype, const unsigned char *m, size_t m_len,
-               unsigned char *rm, size_t *prm_len,
-               const unsigned char *sigbuf, size_t siglen,
-               RSA *rsa);
+#include "rsa_locl.h"
 
 /* RSA pkey context structure */
 
@@ -245,7 +241,7 @@ static int pkey_rsa_verifyrecover(EVP_PKEY_CTX *ctx,
                        }
                else if (rctx->pad_mode == RSA_PKCS1_PADDING)
                        {
-                       unsigned int sltmp;
+                       size_t sltmp;
                        ret = int_rsa_verify(EVP_MD_type(rctx->md),
                                                NULL, 0, rout, &sltmp,
                                        sig, siglen, ctx->pkey->pkey.rsa);
@@ -440,6 +436,10 @@ static int pkey_rsa_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
                case EVP_PKEY_CTRL_PKCS7_DECRYPT:
                case EVP_PKEY_CTRL_PKCS7_SIGN:
                return 1;
+               case EVP_PKEY_CTRL_PEER_KEY:
+                       RSAerr(RSA_F_PKEY_RSA_CTRL,
+                       EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE);
+                       return -2;      
 
                default:
                return -2;