aboutsummaryrefslogtreecommitdiffstats
path: root/src/cryptography/hazmat/primitives/ciphers
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2018-12-10 12:13:31 +0800
committerAlex Gaynor <alex.gaynor@gmail.com>2018-12-09 23:13:31 -0500
commit3c68250ad9bfb275c760fcce4c72c78c99b57c34 (patch)
tree06c6f5b1e513d9d16ec25ab25ae927b47172a7ca /src/cryptography/hazmat/primitives/ciphers
parentc2d16370f00e42fae13e492c0b1c7b3a83a5e495 (diff)
downloadcryptography-3c68250ad9bfb275c760fcce4c72c78c99b57c34.tar.gz
cryptography-3c68250ad9bfb275c760fcce4c72c78c99b57c34.tar.bz2
cryptography-3c68250ad9bfb275c760fcce4c72c78c99b57c34.zip
allow bytes-like for key/iv/data for symmetric encryption (#4621)
* allow bytearrays for key/iv for symmetric encryption * bump pypy/cffi requirements * update docs, fix some tests * old openssl is naught but pain * revert a typo * use trusty for old pypy * better error msg again * restore match
Diffstat (limited to 'src/cryptography/hazmat/primitives/ciphers')
-rw-r--r--src/cryptography/hazmat/primitives/ciphers/algorithms.py4
-rw-r--r--src/cryptography/hazmat/primitives/ciphers/modes.py14
2 files changed, 9 insertions, 9 deletions
diff --git a/src/cryptography/hazmat/primitives/ciphers/algorithms.py b/src/cryptography/hazmat/primitives/ciphers/algorithms.py
index 21d9ecf0..1f49fd9d 100644
--- a/src/cryptography/hazmat/primitives/ciphers/algorithms.py
+++ b/src/cryptography/hazmat/primitives/ciphers/algorithms.py
@@ -13,7 +13,7 @@ from cryptography.hazmat.primitives.ciphers.modes import ModeWithNonce
def _verify_key_size(algorithm, key):
# Verify that the key is instance of bytes
- utils._check_bytes("key", key)
+ utils._check_byteslike("key", key)
# Verify that the key size matches the expected key size
if len(key) * 8 not in algorithm.key_sizes:
@@ -153,7 +153,7 @@ class ChaCha20(object):
def __init__(self, key, nonce):
self.key = _verify_key_size(self, key)
- utils._check_bytes("nonce", nonce)
+ utils._check_byteslike("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 d2444580..ad91a6e1 100644
--- a/src/cryptography/hazmat/primitives/ciphers/modes.py
+++ b/src/cryptography/hazmat/primitives/ciphers/modes.py
@@ -88,7 +88,7 @@ class CBC(object):
name = "CBC"
def __init__(self, initialization_vector):
- utils._check_bytes("initialization_vector", initialization_vector)
+ utils._check_byteslike("initialization_vector", initialization_vector)
self._initialization_vector = initialization_vector
initialization_vector = utils.read_only_property("_initialization_vector")
@@ -101,7 +101,7 @@ class XTS(object):
name = "XTS"
def __init__(self, tweak):
- utils._check_bytes("tweak", tweak)
+ utils._check_byteslike("tweak", tweak)
if len(tweak) != 16:
raise ValueError("tweak must be 128-bits (16 bytes)")
@@ -131,7 +131,7 @@ class OFB(object):
name = "OFB"
def __init__(self, initialization_vector):
- utils._check_bytes("initialization_vector", initialization_vector)
+ utils._check_byteslike("initialization_vector", initialization_vector)
self._initialization_vector = initialization_vector
initialization_vector = utils.read_only_property("_initialization_vector")
@@ -144,7 +144,7 @@ class CFB(object):
name = "CFB"
def __init__(self, initialization_vector):
- utils._check_bytes("initialization_vector", initialization_vector)
+ utils._check_byteslike("initialization_vector", initialization_vector)
self._initialization_vector = initialization_vector
initialization_vector = utils.read_only_property("_initialization_vector")
@@ -157,7 +157,7 @@ class CFB8(object):
name = "CFB8"
def __init__(self, initialization_vector):
- utils._check_bytes("initialization_vector", initialization_vector)
+ utils._check_byteslike("initialization_vector", initialization_vector)
self._initialization_vector = initialization_vector
initialization_vector = utils.read_only_property("_initialization_vector")
@@ -170,7 +170,7 @@ class CTR(object):
name = "CTR"
def __init__(self, nonce):
- utils._check_bytes("nonce", nonce)
+ utils._check_byteslike("nonce", nonce)
self._nonce = nonce
nonce = utils.read_only_property("_nonce")
@@ -195,7 +195,7 @@ 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
- utils._check_bytes("initialization_vector", initialization_vector)
+ utils._check_byteslike("initialization_vector", initialization_vector)
if len(initialization_vector) == 0:
raise ValueError("initialization_vector must be at least 1 byte")
self._initialization_vector = initialization_vector