aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlex Gaynor <alex.gaynor@gmail.com>2016-03-07 10:04:22 -0500
committerAlex Gaynor <alex.gaynor@gmail.com>2016-03-07 10:04:22 -0500
commitb6e1f6f23f02dd9534688c5ca88b511894b90faa (patch)
treeb00a50ef9397a5cc6a740852bd481fc0977c906f /src
parent83c9cdaf1d8cb0d1a60f89935e237fa5fffcc571 (diff)
parentb352531220a2718ca5dddce09ff0cdda1a4bd227 (diff)
downloadcryptography-b6e1f6f23f02dd9534688c5ca88b511894b90faa.tar.gz
cryptography-b6e1f6f23f02dd9534688c5ca88b511894b90faa.tar.bz2
cryptography-b6e1f6f23f02dd9534688c5ca88b511894b90faa.zip
Merge pull request #2769 from reaperhulk/enforce-more-bytes
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..802e544a 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 or None")
+
self._initialization_vector = initialization_vector
self._tag = tag