aboutsummaryrefslogtreecommitdiffstats
path: root/src/cryptography/hazmat/backends
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2019-01-16 19:10:48 -0600
committerAlex Gaynor <alex.gaynor@gmail.com>2019-01-16 20:10:48 -0500
commitbfc6fae472457c37abafb3818b44f0bd639be6cc (patch)
tree6670cd7d3ee34e8af308f4fe27af6dcb5a89d9b5 /src/cryptography/hazmat/backends
parentc6656af81d3b4440d0d1032fd82e64d717541d62 (diff)
downloadcryptography-bfc6fae472457c37abafb3818b44f0bd639be6cc.tar.gz
cryptography-bfc6fae472457c37abafb3818b44f0bd639be6cc.tar.bz2
cryptography-bfc6fae472457c37abafb3818b44f0bd639be6cc.zip
support bytes-like keys in CMAC and HMAC contexts (#4701)
Diffstat (limited to 'src/cryptography/hazmat/backends')
-rw-r--r--src/cryptography/hazmat/backends/openssl/cmac.py3
-rw-r--r--src/cryptography/hazmat/backends/openssl/hmac.py3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/cmac.py b/src/cryptography/hazmat/backends/openssl/cmac.py
index e20f66d3..bc88f336 100644
--- a/src/cryptography/hazmat/backends/openssl/cmac.py
+++ b/src/cryptography/hazmat/backends/openssl/cmac.py
@@ -36,8 +36,9 @@ class _CMACContext(object):
self._backend.openssl_assert(ctx != self._backend._ffi.NULL)
ctx = self._backend._ffi.gc(ctx, self._backend._lib.CMAC_CTX_free)
+ key_ptr = self._backend._ffi.from_buffer(self._key)
res = self._backend._lib.CMAC_Init(
- ctx, self._key, len(self._key),
+ ctx, key_ptr, len(self._key),
evp_cipher, self._backend._ffi.NULL
)
self._backend.openssl_assert(res == 1)
diff --git a/src/cryptography/hazmat/backends/openssl/hmac.py b/src/cryptography/hazmat/backends/openssl/hmac.py
index 99c43f2a..b606e111 100644
--- a/src/cryptography/hazmat/backends/openssl/hmac.py
+++ b/src/cryptography/hazmat/backends/openssl/hmac.py
@@ -32,8 +32,9 @@ class _HMACContext(object):
algorithm.name),
_Reasons.UNSUPPORTED_HASH
)
+ key_ptr = self._backend._ffi.from_buffer(key)
res = self._backend._lib.HMAC_Init_ex(
- ctx, key, len(key), evp_md, self._backend._ffi.NULL
+ ctx, key_ptr, len(key), evp_md, self._backend._ffi.NULL
)
self._backend.openssl_assert(res != 0)