aboutsummaryrefslogtreecommitdiffstats
path: root/cryptography
diff options
context:
space:
mode:
authorDonald Stufft <donald@stufft.io>2013-08-10 15:10:38 -0400
committerDonald Stufft <donald@stufft.io>2013-08-10 15:10:38 -0400
commit93e768b52c03fb33ff46124c17d4e1b2a13693fe (patch)
treeba6f336f82d1d458c103ec9d68932ff1712cbfd0 /cryptography
parent6e9f1e5cef4e905e3076f778ff63f4c032602c89 (diff)
downloadcryptography-93e768b52c03fb33ff46124c17d4e1b2a13693fe.tar.gz
cryptography-93e768b52c03fb33ff46124c17d4e1b2a13693fe.tar.bz2
cryptography-93e768b52c03fb33ff46124c17d4e1b2a13693fe.zip
Ciphers should know what size their keys are
Diffstat (limited to 'cryptography')
-rw-r--r--cryptography/bindings/openssl/api.py2
-rw-r--r--cryptography/primitives/block/ciphers.py4
2 files changed, 5 insertions, 1 deletions
diff --git a/cryptography/bindings/openssl/api.py b/cryptography/bindings/openssl/api.py
index 07079415..720a6ad4 100644
--- a/cryptography/bindings/openssl/api.py
+++ b/cryptography/bindings/openssl/api.py
@@ -68,7 +68,7 @@ class API(object):
ctx = self._ffi.gc(ctx, self._lib.EVP_CIPHER_CTX_cleanup)
# TODO: compute name using a better algorithm
ciphername = "{0}-{1}-{2}".format(
- cipher.name, len(cipher.key) * 8, mode.name
+ cipher.name, cipher.key_size, mode.name
)
evp_cipher = self._lib.EVP_get_cipherbyname(ciphername.encode("ascii"))
if evp_cipher == self._ffi.NULL:
diff --git a/cryptography/primitives/block/ciphers.py b/cryptography/primitives/block/ciphers.py
index 3bd5daad..f40fc2a1 100644
--- a/cryptography/primitives/block/ciphers.py
+++ b/cryptography/primitives/block/ciphers.py
@@ -18,3 +18,7 @@ class AES(object):
def __init__(self, key):
super(AES, self).__init__()
self.key = key
+
+ @property
+ def key_size(self):
+ return len(self.key) * 8