summaryrefslogtreecommitdiff
path: root/SWIG/_evp.i
diff options
context:
space:
mode:
Diffstat (limited to 'SWIG/_evp.i')
-rw-r--r--SWIG/_evp.i51
1 files changed, 23 insertions, 28 deletions
diff --git a/SWIG/_evp.i b/SWIG/_evp.i
index c4a0d8a..758f11b 100644
--- a/SWIG/_evp.i
+++ b/SWIG/_evp.i
@@ -234,22 +234,20 @@ PyObject *pkcs5_pbkdf2_hmac_sha1(PyObject *pass,
int iter,
int keylen) {
unsigned char *key;
- unsigned char *saltbuf;
- char *passbuf;
+ const void *saltbuf;
+ const void *passbuf;
PyObject *ret;
int passlen = 0, saltlen = 0;
- if (m2_PyObject_AsReadBufferInt(pass, (const void **)&passbuf,
- &passlen) == -1)
+ if (m2_PyObject_AsReadBufferInt(pass, &passbuf, &passlen) == -1)
return NULL;
- if (m2_PyObject_AsReadBufferInt(salt, (const void **)&saltbuf,
- &saltlen) == -1)
+ if (m2_PyObject_AsReadBufferInt(salt, &saltbuf, &saltlen) == -1)
return NULL;
key = PyMem_Malloc(keylen);
if (key == NULL)
return PyErr_NoMemory();
- PKCS5_PBKDF2_HMAC_SHA1(passbuf, passlen, saltbuf, saltlen, iter,
+ PKCS5_PBKDF2_HMAC_SHA1((const char *)passbuf, passlen, (const unsigned char *)saltbuf, saltlen, iter,
keylen, key);
ret = PyBytes_FromStringAndSize((char*)key, keylen);
OPENSSL_cleanse(key, keylen);
@@ -275,10 +273,10 @@ int digest_update(EVP_MD_CTX *ctx, PyObject *blob) {
const void *buf;
Py_ssize_t len;
- if (PyObject_AsReadBuffer(blob, &buf, &len) == -1)
+ if (m2_PyObject_AsReadBuffer(blob, &buf, &len) == -1)
return -1;
- return EVP_DigestUpdate(ctx, buf, len);
+ return EVP_DigestUpdate(ctx, buf, (size_t)len);
}
PyObject *digest_final(EVP_MD_CTX *ctx) {
@@ -334,10 +332,10 @@ PyObject *hmac_update(HMAC_CTX *ctx, PyObject *blob) {
const void *buf;
Py_ssize_t len;
- if (PyObject_AsReadBuffer(blob, &buf, &len) == -1)
+ if (m2_PyObject_AsReadBuffer(blob, &buf, &len) == -1)
return NULL;
- if (!HMAC_Update(ctx, buf, len)) {
+ if (!HMAC_Update(ctx, (const unsigned char *)buf, (size_t)len)) {
PyErr_SetString(_evp_err, "HMAC_Update failed");
return NULL;
}
@@ -374,14 +372,14 @@ PyObject *hmac(PyObject *key, PyObject *data, const EVP_MD *md) {
PyObject *ret;
if ((m2_PyObject_AsReadBufferInt(key, &kbuf, &klen) == -1)
- || (PyObject_AsReadBuffer(data, &dbuf, &dlen) == -1))
+ || (m2_PyObject_AsReadBuffer(data, &dbuf, &dlen) == -1))
return NULL;
if (!(blob = PyMem_Malloc(EVP_MAX_MD_SIZE))) {
PyErr_SetString(PyExc_MemoryError, "hmac");
return NULL;
}
- HMAC(md, kbuf, klen, dbuf, dlen, blob, &blen);
+ HMAC(md, kbuf, klen, (const unsigned char *)dbuf, (size_t)dlen, (unsigned char *)blob, &blen);
blob = PyMem_Realloc(blob, blen);
ret = PyBytes_FromStringAndSize(blob, blen);
@@ -416,7 +414,7 @@ PyObject *bytes_to_key(const EVP_CIPHER *cipher, EVP_MD *md,
PyObject *ret;
if ((m2_PyObject_AsReadBufferInt(data, &dbuf, &dlen) == -1)
- || (PyObject_AsReadBuffer(salt, &sbuf, &slen) == -1))
+ || (m2_PyObject_AsReadBuffer(salt, &sbuf, &slen) == -1))
return NULL;
assert((slen == 8) || (slen == 0));
@@ -434,17 +432,14 @@ PyObject *cipher_init(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
const void *kbuf, *ibuf;
Py_ssize_t klen, ilen;
- if (cipher == Py_None)
- cipher = NULL;
-
if (key == Py_None)
kbuf = NULL;
- else if (PyObject_AsReadBuffer(key, &kbuf, &klen) == -1)
+ else if (m2_PyObject_AsReadBuffer(key, &kbuf, &klen) == -1)
return NULL;
if (iv == Py_None)
ibuf = NULL;
- else if (PyObject_AsReadBuffer(iv, &ibuf, &ilen) == -1)
+ else if (m2_PyObject_AsReadBuffer(iv, &ibuf, &ilen) == -1)
return NULL;
if (!EVP_CipherInit(ctx, cipher, (unsigned char *)kbuf,
@@ -503,12 +498,12 @@ PyObject *cipher_final(EVP_CIPHER_CTX *ctx) {
PyObject *sign_update(EVP_MD_CTX *ctx, PyObject *blob) {
const void *buf;
- Py_ssize_t len;
+ int len;
- if (PyObject_AsReadBuffer(blob, &buf, &len) == -1)
+ if (m2_PyObject_AsReadBufferInt(blob, &buf, &len) == -1)
return NULL;
- if (!EVP_SignUpdate(ctx, buf, len)) {
+ if (!EVP_SignUpdate(ctx, buf, (Py_ssize_t)len)) {
m2_PyErr_Msg(_evp_err);
return NULL;
}
@@ -542,22 +537,22 @@ PyObject *sign_final(EVP_MD_CTX *ctx, EVP_PKEY *pkey) {
int verify_update(EVP_MD_CTX *ctx, PyObject *blob) {
const void *buf;
- Py_ssize_t len;
+ int len;
- if (PyObject_AsReadBuffer(blob, &buf, &len) == -1)
+ if (m2_PyObject_AsReadBufferInt(blob, &buf, &len) == -1)
return -1;
- return EVP_VerifyUpdate(ctx, buf, len);
+ return EVP_VerifyUpdate(ctx, buf, (Py_ssize_t)len);
}
int verify_final(EVP_MD_CTX *ctx, PyObject *blob, EVP_PKEY *pkey) {
- unsigned char *kbuf;
+ const void *kbuf;
int len = 0;
- if (m2_PyObject_AsReadBufferInt(blob, (const void **)&kbuf, &len) == -1)
+ if (m2_PyObject_AsReadBufferInt(blob, &kbuf, &len) == -1)
return -1;
- return EVP_VerifyFinal(ctx, kbuf, len, pkey);
+ return EVP_VerifyFinal(ctx, (const unsigned char *)kbuf, len, pkey);
}
int digest_sign_init(EVP_MD_CTX *ctx, EVP_PKEY *pkey) {