aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2016-03-06 21:09:16 -0430
committerPaul Kehrer <paul.l.kehrer@gmail.com>2016-03-07 10:15:32 -0400
commitacfb618f1016bdd8333f3a4f41c0cc5955c8a1a4 (patch)
treef47dbf0d87441a76dea773d3bea84c54f8c745a6 /src
parent83c9cdaf1d8cb0d1a60f89935e237fa5fffcc571 (diff)
downloadcryptography-acfb618f1016bdd8333f3a4f41c0cc5955c8a1a4.tar.gz
cryptography-acfb618f1016bdd8333f3a4f41c0cc5955c8a1a4.tar.bz2
cryptography-acfb618f1016bdd8333f3a4f41c0cc5955c8a1a4.zip
require mode nonce/iv/tag data to be bytes
Diffstat (limited to 'src')
-rw-r--r--src/cryptography/hazmat/primitives/ciphers/modes.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/cryptography/hazmat/primitives/ciphers/modes.py b/src/cryptography/hazmat/primitives/ciphers/modes.py
index 4284042d..ad0bcbcd 100644
--- a/src/cryptography/hazmat/primitives/ciphers/modes.py
+++ b/src/cryptography/hazmat/primitives/ciphers/modes.py
@@ -67,6 +67,9 @@ class CBC(object):
name = "CBC"
def __init__(self, initialization_vector):
+ if not isinstance(initialization_vector, bytes):
+ raise TypeError("initialization_vector must be bytes")
+
self._initialization_vector = initialization_vector
initialization_vector = utils.read_only_property("_initialization_vector")
@@ -87,6 +90,9 @@ class OFB(object):
name = "OFB"
def __init__(self, initialization_vector):
+ if not isinstance(initialization_vector, bytes):
+ raise TypeError("initialization_vector must be bytes")
+
self._initialization_vector = initialization_vector
initialization_vector = utils.read_only_property("_initialization_vector")
@@ -99,6 +105,9 @@ class CFB(object):
name = "CFB"
def __init__(self, initialization_vector):
+ if not isinstance(initialization_vector, bytes):
+ raise TypeError("initialization_vector must be bytes")
+
self._initialization_vector = initialization_vector
initialization_vector = utils.read_only_property("_initialization_vector")
@@ -111,6 +120,9 @@ class CFB8(object):
name = "CFB8"
def __init__(self, initialization_vector):
+ if not isinstance(initialization_vector, bytes):
+ raise TypeError("initialization_vector must be bytes")
+
self._initialization_vector = initialization_vector
initialization_vector = utils.read_only_property("_initialization_vector")
@@ -123,6 +135,9 @@ class CTR(object):
name = "CTR"
def __init__(self, nonce):
+ if not isinstance(nonce, bytes):
+ raise TypeError("nonce must be bytes")
+
self._nonce = nonce
nonce = utils.read_only_property("_nonce")
@@ -154,6 +169,12 @@ class GCM(object):
min_tag_length)
)
+ if not isinstance(initialization_vector, bytes):
+ raise TypeError("initialization_vector must be bytes")
+
+ if tag is not None and not isinstance(tag, bytes):
+ raise TypeError("tag must be bytes when provided")
+
self._initialization_vector = initialization_vector
self._tag = tag