aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2013-11-05 15:37:09 -0800
committerAlex Gaynor <alex.gaynor@gmail.com>2013-11-05 15:37:09 -0800
commit922c3f9a0b9f6ae529c8d12d5fe2fea042a12a03 (patch)
tree68ab4ec29590dea3ad9470ebf8590dd330e8534f
parent44ca536328e0c50263aaec57c89e4ab3dae3b2b3 (diff)
downloadcryptography-922c3f9a0b9f6ae529c8d12d5fe2fea042a12a03.tar.gz
cryptography-922c3f9a0b9f6ae529c8d12d5fe2fea042a12a03.tar.bz2
cryptography-922c3f9a0b9f6ae529c8d12d5fe2fea042a12a03.zip
Fixed compatibility for hmac
-rw-r--r--cryptography/hazmat/bindings/openssl/backend.py2
-rw-r--r--cryptography/hazmat/bindings/openssl/hmac.py25
2 files changed, 24 insertions, 3 deletions
diff --git a/cryptography/hazmat/bindings/openssl/backend.py b/cryptography/hazmat/bindings/openssl/backend.py
index d844f3fc..e70adca5 100644
--- a/cryptography/hazmat/bindings/openssl/backend.py
+++ b/cryptography/hazmat/bindings/openssl/backend.py
@@ -324,7 +324,7 @@ class HMACs(object):
return ctx
def update_ctx(self, ctx, data):
- res = self._backend.lib.HMAC_Update(ctx, data, len(data))
+ res = self._backend.lib.Cryptography_HMAC_Update(ctx, data, len(data))
assert res != 0
def finalize_ctx(self, ctx, digest_size):
diff --git a/cryptography/hazmat/bindings/openssl/hmac.py b/cryptography/hazmat/bindings/openssl/hmac.py
index 3aeb1733..d5a5b7b1 100644
--- a/cryptography/hazmat/bindings/openssl/hmac.py
+++ b/cryptography/hazmat/bindings/openssl/hmac.py
@@ -24,8 +24,8 @@ void HMAC_CTX_init(HMAC_CTX *);
void HMAC_CTX_cleanup(HMAC_CTX *);
int Cryptography_HMAC_Init_ex(HMAC_CTX *, const void *, int, const EVP_MD *, ENGINE *);
-int HMAC_Update(HMAC_CTX *, const unsigned char *, size_t);
-int HMAC_Final(HMAC_CTX *, unsigned char *, unsigned int *);
+int Cryptography_HMAC_Update(HMAC_CTX *, const unsigned char *, size_t);
+int Cryptography_HMAC_Final(HMAC_CTX *, unsigned char *, unsigned int *);
int HMAC_CTX_copy(HMAC_CTX *, HMAC_CTX *);
"""
@@ -42,4 +42,25 @@ int Cryptography_HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int key_len,
return 1;
#endif
}
+
+int Cryptography_HMAC_Update(HMAC_CTX *ctx, const unsigned char *data,
+ size_t data_len) {
+#if OPENSSL_VERSION_NUMBER >= 0x010000000
+ return HMAC_Update(ctx, data, data_len);
+#else
+ HMAC_Update(ctx, data, data_len);
+ return 1;
+#endif
+}
+
+int Cryptography_HMAC_Final(HMAC_CTX *ctx, unsigned char *digest,
+ unsigned int *digest_len) {
+#if OPENSSL_VERSION_NUMBER >= 0x010000000
+ return HMAC_Final(ctx, digest, digest_len);
+#else
+ HMAC_Final(ctx, digest, digest_len);
+ return 1;
+#endif
+}
+
"""