From 5aefc9f47f0dff59389ad847950cfd5c9ae8c023 Mon Sep 17 00:00:00 2001 From: Mohammed Attia Date: Sat, 8 Mar 2014 11:03:06 +0200 Subject: Add key_size to GC --- cryptography/hazmat/backends/openssl/backend.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cryptography/hazmat/backends/openssl/backend.py b/cryptography/hazmat/backends/openssl/backend.py index 65e3df47..ca3992fe 100644 --- a/cryptography/hazmat/backends/openssl/backend.py +++ b/cryptography/hazmat/backends/openssl/backend.py @@ -419,8 +419,11 @@ class Backend(object): assert ctx != self._ffi.NULL ctx = self._ffi.gc(ctx, self._lib.DSA_free) + bn = self._int_to_bn(key_size) + bn = self._ffi.gc(bn, self._lib.BN_free) + res = self._lib.DSA_generate_parameters_ex( - ctx, key_size, self._ffi.NULL, self._ffi.NULL, + ctx, bn, self._ffi.NULL, self._ffi.NULL, self._ffi.NULL, self._ffi.NULL ) @@ -445,7 +448,9 @@ class Backend(object): if key_size not in (1024, 2048, 3072): raise ValueError("Key size must be 1024 or 2048 or" "3072 bits") - self.generate_dsa_parameters(key_size, ctx) + bn = self._int_to_bn(key_size) + bn = self._ffi.gc(bn, self._lib.BN_free) + self.generate_dsa_parameters(bn, ctx) self._lib.DSA_generate_key(ctx) @@ -463,6 +468,7 @@ class Backend(object): else: return isinstance(algorithm, hashes.SHA1) + class GetCipherByName(object): def __init__(self, fmt): self._fmt = fmt -- cgit v1.2.3