Use size_t for new crypto size parameters.
authorDr. Stephen Henson <steve@openssl.org>
Wed, 24 May 2006 12:33:46 +0000 (12:33 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Wed, 24 May 2006 12:33:46 +0000 (12:33 +0000)
crypto/dh/dh_pmeth.c
crypto/dsa/dsa_pmeth.c
crypto/ec/ec_pmeth.c
crypto/evp/evp.h
crypto/evp/evp_locl.h
crypto/evp/pmeth_fn.c
crypto/evp/pmeth_lib.c
crypto/rsa/rsa_pmeth.c

index a4b7341c22786cb79cf3bfc117cebd682f613a11..b8b1362ebaecba296f0946ae4e437f288d8488a8 100644 (file)
@@ -187,7 +187,7 @@ static int pkey_dh_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
        return DH_generate_key(pkey->pkey.dh);
        }
 
-static int pkey_dh_derive(EVP_PKEY_CTX *ctx, unsigned char *key, int *keylen)
+static int pkey_dh_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen)
        {
        int ret;
        if (!ctx->pkey || !ctx->peerkey)
index 711a68f6bdd020ab895f5bd51c44b01feaa15947..9909dc8f3b7476514b3b0a9534e6c2314a76bdd1 100644 (file)
@@ -98,8 +98,8 @@ static void pkey_dsa_cleanup(EVP_PKEY_CTX *ctx)
                OPENSSL_free(dctx);
        }
 
-static int pkey_dsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
-                                       const unsigned char *tbs, int tbslen)
+static int pkey_dsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
+                                       const unsigned char *tbs, size_t tbslen)
        {
        int ret, type;
        unsigned int sltmp;
@@ -120,8 +120,8 @@ static int pkey_dsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
        }
 
 static int pkey_dsa_verify(EVP_PKEY_CTX *ctx,
-                                       const unsigned char *sig, int siglen,
-                                       const unsigned char *tbs, int tbslen)
+                                       const unsigned char *sig, size_t siglen,
+                                       const unsigned char *tbs, size_t tbslen)
        {
        int ret, type;
        DSA_PKEY_CTX *dctx = ctx->data;
index f6a027ef6c3d3b6f91c9fab0655740b58d64c2f2..760200892ec45ff12346969b3f0edf2d1a6686e5 100644 (file)
@@ -99,11 +99,11 @@ static void pkey_ec_cleanup(EVP_PKEY_CTX *ctx)
                }
        }
 
-static int pkey_ec_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
-                                       const unsigned char *tbs, int tbslen)
+static int pkey_ec_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
+                                       const unsigned char *tbs, size_t tbslen)
        {
        int ret, type;
-       unsigned int sltmp;
+       size_t sltmp;
        EC_PKEY_CTX *dctx = ctx->data;
        EC_KEY *ec = ctx->pkey->pkey.ec;
 
@@ -112,7 +112,7 @@ static int pkey_ec_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
                *siglen = ECDSA_size(ec);
                return 1;
                }
-       else if(*siglen < ECDSA_size(ec))
+       else if(*siglen < (size_t)ECDSA_size(ec))
                {
                ECerr(EC_F_PKEY_EC_SIGN, EC_R_BUFFER_TOO_SMALL);
                return 0;
@@ -133,8 +133,8 @@ static int pkey_ec_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
        }
 
 static int pkey_ec_verify(EVP_PKEY_CTX *ctx,
-                                       const unsigned char *sig, int siglen,
-                                       const unsigned char *tbs, int tbslen)
+                                       const unsigned char *sig, size_t siglen,
+                                       const unsigned char *tbs, size_t tbslen)
        {
        int ret, type;
        EC_PKEY_CTX *dctx = ctx->data;
@@ -150,7 +150,7 @@ static int pkey_ec_verify(EVP_PKEY_CTX *ctx,
        return ret;
        }
 
-static int pkey_ec_derive(EVP_PKEY_CTX *ctx, unsigned char *key, int *keylen)
+static int pkey_ec_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen)
        {
        int ret;
        size_t outlen;
index e5af71669b4c20830b84a61f4141692f34c1ea42..d76d135abf92934cf1d42cbadfa844bdefbe483c 100644 (file)
@@ -964,28 +964,28 @@ void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx);
 
 int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx);
 int EVP_PKEY_sign(EVP_PKEY_CTX *ctx,
-                       unsigned char *sig, int *siglen,
-                       const unsigned char *tbs, int tbslen);
+                       unsigned char *sig, size_t *siglen,
+                       const unsigned char *tbs, size_t tbslen);
 int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx);
 int EVP_PKEY_verify(EVP_PKEY_CTX *ctx,
-                       const unsigned char *sig, int siglen,
-                       const unsigned char *tbs, int tbslen);
+                       const unsigned char *sig, size_t siglen,
+                       const unsigned char *tbs, size_t tbslen);
 int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx);
 int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx,
-                       unsigned char *rout, int *routlen,
-                       const unsigned char *sig, int siglen);
+                       unsigned char *rout, size_t *routlen,
+                       const unsigned char *sig, size_t siglen);
 int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx);
 int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx,
-                       unsigned char *out, int *outlen,
-                       const unsigned char *in, int inlen);
+                       unsigned char *out, size_t *outlen,
+                       const unsigned char *in, size_t inlen);
 int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx);
 int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx,
-                       unsigned char *out, int *outlen,
-                       const unsigned char *in, int inlen);
+                       unsigned char *out, size_t *outlen,
+                       const unsigned char *in, size_t inlen);
 
 int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx);
 int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer);
-int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, int *keylen);
+int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen);
 
 typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx);
 
@@ -1013,23 +1013,23 @@ void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth,
 
 void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth,
        int (*sign_init)(EVP_PKEY_CTX *ctx),
-       int (*sign)(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
-                                       const unsigned char *tbs, int tbslen));
+       int (*sign)(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
+                                       const unsigned char *tbs, size_t tbslen));
 
 void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth,
        int (*verify_init)(EVP_PKEY_CTX *ctx),
-       int (*verify)(EVP_PKEY_CTX *ctx, const unsigned char *sig, int siglen,
-                                       const unsigned char *tbs, int tbslen));
+       int (*verify)(EVP_PKEY_CTX *ctx, const unsigned char *sig, size_t siglen,
+                                       const unsigned char *tbs, size_t tbslen));
 
 void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth,
        int (*verify_recover_init)(EVP_PKEY_CTX *ctx),
        int (*verify_recover)(EVP_PKEY_CTX *ctx,
-                                       unsigned char *sig, int *siglen,
-                                       const unsigned char *tbs, int tbslen));
+                                       unsigned char *sig, size_t *siglen,
+                                       const unsigned char *tbs, size_t tbslen));
 
 void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth,
        int (*signctx_init)(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx),
-       int (*signctx)(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
+       int (*signctx)(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
                                        EVP_MD_CTX *mctx));
 
 void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth,
@@ -1039,17 +1039,17 @@ void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth,
 
 void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth,
        int (*encrypt_init)(EVP_PKEY_CTX *ctx),
-       int (*encrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, int *outlen,
-                                       const unsigned char *in, int inlen));
+       int (*encrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
+                                       const unsigned char *in, size_t inlen));
 
 void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth,
        int (*decrypt_init)(EVP_PKEY_CTX *ctx),
-       int (*decrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, int *outlen,
-                                       const unsigned char *in, int inlen));
+       int (*decrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
+                                       const unsigned char *in, size_t inlen));
 
 void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth,
        int (*derive_init)(EVP_PKEY_CTX *ctx),
-       int (*derive)(EVP_PKEY_CTX *ctx, unsigned char *key, int *keylen));
+       int (*derive)(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen));
 
 void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth,
        int (*ctrl)(EVP_PKEY_CTX *ctx, int type, int p1, void *p2),
index 570ac97ae96eada7ab341df6beb83690ca9f7b51..c8a12e2fa5d094b1504f0d5096507e1062fa9720 100644 (file)
@@ -273,20 +273,21 @@ struct evp_pkey_method_st
        int (*keygen)(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey);
 
        int (*sign_init)(EVP_PKEY_CTX *ctx);
-       int (*sign)(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
-                                       const unsigned char *tbs, int tbslen);
+       int (*sign)(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
+                               const unsigned char *tbs, size_t tbslen);
 
        int (*verify_init)(EVP_PKEY_CTX *ctx);
-       int (*verify)(EVP_PKEY_CTX *ctx, const unsigned char *sig, int siglen,
-                                       const unsigned char *tbs, int tbslen);
+       int (*verify)(EVP_PKEY_CTX *ctx,
+                               const unsigned char *sig, size_t siglen,
+                               const unsigned char *tbs, size_t tbslen);
 
        int (*verify_recover_init)(EVP_PKEY_CTX *ctx);
        int (*verify_recover)(EVP_PKEY_CTX *ctx,
-                                       unsigned char *rout, int *routlen,
-                                       const unsigned char *sig, int siglen);
+                               unsigned char *rout, size_t *routlen,
+                               const unsigned char *sig, size_t siglen);
 
        int (*signctx_init)(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx);
-       int (*signctx)(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
+       int (*signctx)(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
                                        EVP_MD_CTX *mctx);
 
        int (*verifyctx_init)(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx);
@@ -294,15 +295,15 @@ struct evp_pkey_method_st
                                        EVP_MD_CTX *mctx);
 
        int (*encrypt_init)(EVP_PKEY_CTX *ctx);
-       int (*encrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, int *outlen,
-                                       const unsigned char *in, int inlen);
+       int (*encrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
+                                       const unsigned char *in, size_t inlen);
 
        int (*decrypt_init)(EVP_PKEY_CTX *ctx);
-       int (*decrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, int *outlen,
-                                       const unsigned char *in, int inlen);
+       int (*decrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
+                                       const unsigned char *in, size_t inlen);
 
        int (*derive_init)(EVP_PKEY_CTX *ctx);
-       int (*derive)(EVP_PKEY_CTX *ctx, unsigned char *key, int *keylen);
+       int (*derive)(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen);
 
        int (*ctrl)(EVP_PKEY_CTX *ctx, int type, int p1, void *p2);
        int (*ctrl_str)(EVP_PKEY_CTX *ctx, const char *type, const char *value);
index dbd639bef208193cdc8b56498d2a74728f538ff8..5e08cedd1460b5ee40b4a9f20513fa3a7b7dc603 100644 (file)
@@ -66,7 +66,7 @@
 #define M_check_autoarg(ctx, arg, arglen, err) \
        if (ctx->pmeth->flags & EVP_PKEY_FLAG_AUTOARGLEN) \
                { \
-               int pksize = EVP_PKEY_size(ctx->pkey); \
+               size_t pksize = (size_t)EVP_PKEY_size(ctx->pkey); \
                if (!arg) \
                        { \
                        *arglen = pksize; \
@@ -98,8 +98,8 @@ int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx)
        }
 
 int EVP_PKEY_sign(EVP_PKEY_CTX *ctx,
-                       unsigned char *sig, int *siglen,
-                       const unsigned char *tbs, int tbslen)
+                       unsigned char *sig, size_t *siglen,
+                       const unsigned char *tbs, size_t tbslen)
        {
        if (!ctx || !ctx->pmeth || !ctx->pmeth->sign)
                {
@@ -135,8 +135,8 @@ int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx)
        }
 
 int EVP_PKEY_verify(EVP_PKEY_CTX *ctx,
-                       const unsigned char *sig, int siglen,
-                       const unsigned char *tbs, int tbslen)
+                       const unsigned char *sig, size_t siglen,
+                       const unsigned char *tbs, size_t tbslen)
        {
        if (!ctx || !ctx->pmeth || !ctx->pmeth->verify)
                {
@@ -171,8 +171,8 @@ int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx)
        }
 
 int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx,
-                       unsigned char *rout, int *routlen,
-                       const unsigned char *sig, int siglen)
+                       unsigned char *rout, size_t *routlen,
+                       const unsigned char *sig, size_t siglen)
        {
        if (!ctx || !ctx->pmeth || !ctx->pmeth->verify_recover)
                {
@@ -208,8 +208,8 @@ int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx)
        }
 
 int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx,
-                       unsigned char *out, int *outlen,
-                       const unsigned char *in, int inlen)
+                       unsigned char *out, size_t *outlen,
+                       const unsigned char *in, size_t inlen)
        {
        if (!ctx || !ctx->pmeth || !ctx->pmeth->encrypt)
                {
@@ -245,8 +245,8 @@ int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx)
        }
 
 int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx,
-                       unsigned char *out, int *outlen,
-                       const unsigned char *in, int inlen)
+                       unsigned char *out, size_t *outlen,
+                       const unsigned char *in, size_t inlen)
        {
        if (!ctx || !ctx->pmeth || !ctx->pmeth->decrypt)
                {
@@ -342,7 +342,7 @@ int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer)
        }
 
 
-int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, int *pkeylen)
+int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *pkeylen)
        {
        if (!ctx || !ctx->pmeth || !ctx->pmeth->derive)
                {
index 4b69593ee7cd4ca9e35884f7bf57faf89ab83820..6db6b17899570b9dea5ab43703ccf96b48635c13 100644 (file)
@@ -329,8 +329,8 @@ void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth,
 
 void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth,
        int (*sign_init)(EVP_PKEY_CTX *ctx),
-       int (*sign)(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
-                                       const unsigned char *tbs, int tbslen))
+       int (*sign)(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
+                                       const unsigned char *tbs, size_t tbslen))
        {
        pmeth->sign_init = sign_init;
        pmeth->sign = sign;
@@ -338,8 +338,8 @@ void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth,
 
 void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth,
        int (*verify_init)(EVP_PKEY_CTX *ctx),
-       int (*verify)(EVP_PKEY_CTX *ctx, const unsigned char *sig, int siglen,
-                                       const unsigned char *tbs, int tbslen))
+       int (*verify)(EVP_PKEY_CTX *ctx, const unsigned char *sig, size_t siglen,
+                                       const unsigned char *tbs, size_t tbslen))
        {
        pmeth->verify_init = verify_init;
        pmeth->verify = verify;
@@ -348,8 +348,8 @@ void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth,
 void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth,
        int (*verify_recover_init)(EVP_PKEY_CTX *ctx),
        int (*verify_recover)(EVP_PKEY_CTX *ctx,
-                                       unsigned char *sig, int *siglen,
-                                       const unsigned char *tbs, int tbslen))
+                                       unsigned char *sig, size_t *siglen,
+                                       const unsigned char *tbs, size_t tbslen))
        {
        pmeth->verify_recover_init = verify_recover_init;
        pmeth->verify_recover = verify_recover;
@@ -357,7 +357,7 @@ void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth,
 
 void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth,
        int (*signctx_init)(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx),
-       int (*signctx)(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
+       int (*signctx)(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
                                        EVP_MD_CTX *mctx))
        {
        pmeth->signctx_init = signctx_init;
@@ -375,8 +375,8 @@ void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth,
 
 void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth,
        int (*encrypt_init)(EVP_PKEY_CTX *ctx),
-       int (*encrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, int *outlen,
-                                       const unsigned char *in, int inlen))
+       int (*encrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
+                                       const unsigned char *in, size_t inlen))
        {
        pmeth->encrypt_init = encrypt_init;
        pmeth->encrypt = encrypt;
@@ -384,8 +384,8 @@ void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth,
 
 void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth,
        int (*decrypt_init)(EVP_PKEY_CTX *ctx),
-       int (*decrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, int *outlen,
-                                       const unsigned char *in, int inlen))
+       int (*decrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen,
+                                       const unsigned char *in, size_t inlen))
        {
        pmeth->decrypt_init = decrypt_init;
        pmeth->decrypt = decrypt;
@@ -393,7 +393,7 @@ void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth,
 
 void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth,
        int (*derive_init)(EVP_PKEY_CTX *ctx),
-       int (*derive)(EVP_PKEY_CTX *ctx, unsigned char *key, int *keylen))
+       int (*derive)(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen))
        {
        pmeth->derive_init = derive_init;
        pmeth->derive = derive;
index 3788406bb814903d1b2532cd89f4bfab1ab06dc5..168a33ee56fd3a1e3a39bff2bbd4c4680bc6271d 100644 (file)
@@ -64,9 +64,9 @@
 #include <openssl/evp.h>
 #include "evp_locl.h"
 
-extern int int_rsa_verify(int dtype, const unsigned char *m, unsigned int m_len,
-               unsigned char *rm, unsigned int *prm_len,
-               const unsigned char *sigbuf, unsigned int siglen,
+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);
 
 /* RSA pkey context structure */
@@ -132,8 +132,8 @@ static void pkey_rsa_cleanup(EVP_PKEY_CTX *ctx)
                }
        }
 
-static int pkey_rsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
-                                       const unsigned char *tbs, int tbslen)
+static int pkey_rsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen,
+                                       const unsigned char *tbs, size_t tbslen)
        {
        int ret;
        RSA_PKEY_CTX *rctx = ctx->data;
@@ -141,7 +141,7 @@ static int pkey_rsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
 
        if (rctx->md)
                {
-               if (tbslen != EVP_MD_size(rctx->md))
+               if (tbslen != (size_t)EVP_MD_size(rctx->md))
                        {
                        RSAerr(RSA_F_PKEY_RSA_SIGN,
                                        RSA_R_INVALID_DIGEST_LENGTH);
@@ -190,8 +190,8 @@ static int pkey_rsa_sign(EVP_PKEY_CTX *ctx, unsigned char *sig, int *siglen,
 
 
 static int pkey_rsa_verifyrecover(EVP_PKEY_CTX *ctx,
-                                       unsigned char *rout, int *routlen,
-                                        const unsigned char *sig, int siglen)
+                                       unsigned char *rout, size_t *routlen,
+                                       const unsigned char *sig, size_t siglen)
        {
        int ret;
        RSA_PKEY_CTX *rctx = ctx->data;
@@ -245,12 +245,12 @@ static int pkey_rsa_verifyrecover(EVP_PKEY_CTX *ctx,
        }
 
 static int pkey_rsa_verify(EVP_PKEY_CTX *ctx,
-                                       const unsigned char *sig, int siglen,
-                                        const unsigned char *tbs, int tbslen)
+                                       const unsigned char *sig, size_t siglen,
+                                       const unsigned char *tbs, size_t tbslen)
        {
        RSA_PKEY_CTX *rctx = ctx->data;
        RSA *rsa = ctx->pkey->pkey.rsa;
-       int rslen;
+       size_t rslen;
        if (rctx->md)
                {
                if (rctx->pad_mode == RSA_PKCS1_PADDING)
@@ -298,8 +298,9 @@ static int pkey_rsa_verify(EVP_PKEY_CTX *ctx,
        }
        
 
-static int pkey_rsa_encrypt(EVP_PKEY_CTX *ctx, unsigned char *out, int *outlen,
-                                        const unsigned char *in, int inlen)
+static int pkey_rsa_encrypt(EVP_PKEY_CTX *ctx,
+                                       unsigned char *out, size_t *outlen,
+                                       const unsigned char *in, size_t inlen)
        {
        int ret;
        RSA_PKEY_CTX *rctx = ctx->data;
@@ -311,8 +312,9 @@ static int pkey_rsa_encrypt(EVP_PKEY_CTX *ctx, unsigned char *out, int *outlen,
        return 1;
        }
 
-static int pkey_rsa_decrypt(EVP_PKEY_CTX *ctx, unsigned char *out, int *outlen,
-                                        const unsigned char *in, int inlen)
+static int pkey_rsa_decrypt(EVP_PKEY_CTX *ctx,
+                                       unsigned char *out, size_t *outlen,
+                                       const unsigned char *in, size_t inlen)
        {
        int ret;
        RSA_PKEY_CTX *rctx = ctx->data;