aboutsummaryrefslogtreecommitdiffstats
path: root/src/cryptography/hazmat/primitives/ciphers
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2018-12-02 19:20:33 +0800
committerAlex Gaynor <alex.gaynor@gmail.com>2018-12-02 06:20:33 -0500
commitafaa4c65b58e31f36a8162f88ad79829f68d0a86 (patch)
tree0660c30fe1382a2507c017b0df20c51544462258 /src/cryptography/hazmat/primitives/ciphers
parent3531439f8a09dd40102ac0e336cb962e86d8bf57 (diff)
downloadcryptography-afaa4c65b58e31f36a8162f88ad79829f68d0a86.tar.gz
cryptography-afaa4c65b58e31f36a8162f88ad79829f68d0a86.tar.bz2
cryptography-afaa4c65b58e31f36a8162f88ad79829f68d0a86.zip
centralize our bytes check (#4622)
this will make life a bit easier when we support bytearrays
Diffstat (limited to 'src/cryptography/hazmat/primitives/ciphers')
-rw-r--r--src/cryptography/hazmat/primitives/ciphers/algorithms.py3
-rw-r--r--src/cryptography/hazmat/primitives/ciphers/modes.py29
2 files changed, 9 insertions, 23 deletions
diff --git a/src/cryptography/hazmat/primitives/ciphers/algorithms.py b/src/cryptography/hazmat/primitives/ciphers/algorithms.py
index 68a9e330..21d9ecf0 100644
--- a/src/cryptography/hazmat/primitives/ciphers/algorithms.py
+++ b/src/cryptography/hazmat/primitives/ciphers/algorithms.py
@@ -153,8 +153,7 @@ class ChaCha20(object):
def __init__(self, key, nonce):
self.key = _verify_key_size(self, key)
- if not isinstance(nonce, bytes):
- raise TypeError("nonce must be bytes")
+ utils._check_bytes("nonce", nonce)
if len(nonce) != 16:
raise ValueError("nonce must be 128-bits (16 bytes)")
diff --git a/src/cryptography/hazmat/primitives/ciphers/modes.py b/src/cryptography/hazmat/primitives/ciphers/modes.py
index e82c1a8d..d2444580 100644
--- a/src/cryptography/hazmat/primitives/ciphers/modes.py
+++ b/src/cryptography/hazmat/primitives/ciphers/modes.py
@@ -88,9 +88,7 @@ class CBC(object):
name = "CBC"
def __init__(self, initialization_vector):
- if not isinstance(initialization_vector, bytes):
- raise TypeError("initialization_vector must be bytes")
-
+ utils._check_bytes("initialization_vector", initialization_vector)
self._initialization_vector = initialization_vector
initialization_vector = utils.read_only_property("_initialization_vector")
@@ -103,8 +101,7 @@ class XTS(object):
name = "XTS"
def __init__(self, tweak):
- if not isinstance(tweak, bytes):
- raise TypeError("tweak must be bytes")
+ utils._check_bytes("tweak", tweak)
if len(tweak) != 16:
raise ValueError("tweak must be 128-bits (16 bytes)")
@@ -134,9 +131,7 @@ class OFB(object):
name = "OFB"
def __init__(self, initialization_vector):
- if not isinstance(initialization_vector, bytes):
- raise TypeError("initialization_vector must be bytes")
-
+ utils._check_bytes("initialization_vector", initialization_vector)
self._initialization_vector = initialization_vector
initialization_vector = utils.read_only_property("_initialization_vector")
@@ -149,9 +144,7 @@ class CFB(object):
name = "CFB"
def __init__(self, initialization_vector):
- if not isinstance(initialization_vector, bytes):
- raise TypeError("initialization_vector must be bytes")
-
+ utils._check_bytes("initialization_vector", initialization_vector)
self._initialization_vector = initialization_vector
initialization_vector = utils.read_only_property("_initialization_vector")
@@ -164,9 +157,7 @@ class CFB8(object):
name = "CFB8"
def __init__(self, initialization_vector):
- if not isinstance(initialization_vector, bytes):
- raise TypeError("initialization_vector must be bytes")
-
+ utils._check_bytes("initialization_vector", initialization_vector)
self._initialization_vector = initialization_vector
initialization_vector = utils.read_only_property("_initialization_vector")
@@ -179,9 +170,7 @@ class CTR(object):
name = "CTR"
def __init__(self, nonce):
- if not isinstance(nonce, bytes):
- raise TypeError("nonce must be bytes")
-
+ utils._check_bytes("nonce", nonce)
self._nonce = nonce
nonce = utils.read_only_property("_nonce")
@@ -206,14 +195,12 @@ class GCM(object):
# len(initialization_vector) must in [1, 2 ** 64), but it's impossible
# to actually construct a bytes object that large, so we don't check
# for it
- if not isinstance(initialization_vector, bytes):
- raise TypeError("initialization_vector must be bytes")
+ utils._check_bytes("initialization_vector", initialization_vector)
if len(initialization_vector) == 0:
raise ValueError("initialization_vector must be at least 1 byte")
self._initialization_vector = initialization_vector
if tag is not None:
- if not isinstance(tag, bytes):
- raise TypeError("tag must be bytes or None")
+ utils._check_bytes("tag", tag)
if min_tag_length < 4:
raise ValueError("min_tag_length must be >= 4")
if len(tag) < min_tag_length: