aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/cryptography/utils.py3
-rw-r--r--tests/test_cryptography_utils.py11
2 files changed, 13 insertions, 1 deletions
diff --git a/src/cryptography/utils.py b/src/cryptography/utils.py
index 6fda2cc1..f16b7efa 100644
--- a/src/cryptography/utils.py
+++ b/src/cryptography/utils.py
@@ -47,7 +47,8 @@ else:
assert byteorder == 'big'
assert not signed
- return int(data.encode('hex'), 16)
+ # call bytes() on data to allow the use of bytearrays
+ return int(bytes(data).encode('hex'), 16)
def int_to_bytes(integer, length=None):
diff --git a/tests/test_cryptography_utils.py b/tests/test_cryptography_utils.py
new file mode 100644
index 00000000..037d11cc
--- /dev/null
+++ b/tests/test_cryptography_utils.py
@@ -0,0 +1,11 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+
+from __future__ import absolute_import, division, print_function
+
+from cryptography import utils
+
+
+def test_int_from_bytes_bytearray():
+ assert utils.int_from_bytes(bytearray(b"\x02\x10"), "big") == 528