aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2014-03-01 08:50:16 -0800
committerAlex Gaynor <alex.gaynor@gmail.com>2014-03-01 08:50:16 -0800
commite5dadb2d3c6c0e7062dc73f8a50aa6f7b457b64f (patch)
tree5fd07ef370919114d4ae9e0e27fc996e752e3a36
parentbf1241307711a2f081d448e5132a435922c05681 (diff)
parent53ecc9837e39f596bb6b17980aef19c1668c732b (diff)
downloadcryptography-e5dadb2d3c6c0e7062dc73f8a50aa6f7b457b64f.tar.gz
cryptography-e5dadb2d3c6c0e7062dc73f8a50aa6f7b457b64f.tar.bz2
cryptography-e5dadb2d3c6c0e7062dc73f8a50aa6f7b457b64f.zip
Merge pull request #699 from public/max-md-size
Use buffer of EVP_MAX_MD_SIZE bytes for digests
-rw-r--r--cryptography/hazmat/backends/openssl/backend.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/cryptography/hazmat/backends/openssl/backend.py b/cryptography/hazmat/backends/openssl/backend.py
index aa6dc83a..0dc6803e 100644
--- a/cryptography/hazmat/backends/openssl/backend.py
+++ b/cryptography/hazmat/backends/openssl/backend.py
@@ -534,14 +534,14 @@ class _HashContext(object):
def finalize(self):
buf = self._backend._ffi.new("unsigned char[]",
- self.algorithm.digest_size)
+ self._backend._lib.EVP_MAX_MD_SIZE)
outlen = self._backend._ffi.new("unsigned int *")
res = self._backend._lib.EVP_DigestFinal_ex(self._ctx, buf, outlen)
assert res != 0
assert outlen[0] == self.algorithm.digest_size
res = self._backend._lib.EVP_MD_CTX_cleanup(self._ctx)
assert res == 1
- return self._backend._ffi.buffer(buf)[:]
+ return self._backend._ffi.buffer(buf)[:outlen[0]]
@utils.register_interface(interfaces.HashContext)
@@ -593,7 +593,7 @@ class _HMACContext(object):
def finalize(self):
buf = self._backend._ffi.new("unsigned char[]",
- self.algorithm.digest_size)
+ self._backend._lib.EVP_MAX_MD_SIZE)
outlen = self._backend._ffi.new("unsigned int *")
res = self._backend._lib.Cryptography_HMAC_Final(
self._ctx, buf, outlen
@@ -601,7 +601,7 @@ class _HMACContext(object):
assert res != 0
assert outlen[0] == self.algorithm.digest_size
self._backend._lib.HMAC_CTX_cleanup(self._ctx)
- return self._backend._ffi.buffer(buf)[:]
+ return self._backend._ffi.buffer(buf)[:outlen[0]]
@utils.register_interface(interfaces.AsymmetricSignatureContext)