aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cryptography/hazmat/primitives/keywrap.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/cryptography/hazmat/primitives/keywrap.py b/src/cryptography/hazmat/primitives/keywrap.py
index 3b531318..2b7955f8 100644
--- a/src/cryptography/hazmat/primitives/keywrap.py
+++ b/src/cryptography/hazmat/primitives/keywrap.py
@@ -118,11 +118,16 @@ def aes_key_unwrap_with_padding(wrapping_key, wrapped_key, backend):
b = (8 * n) - mli
if (
not bytes_eq(a[:4], b"\xa6\x59\x59\xa6") or not
- 8 * (n - 1) < mli <= 8 * n or not bytes_eq(data[-b:], b"\x00" * b)
+ 8 * (n - 1) < mli <= 8 * n or (
+ b != 0 and not bytes_eq(data[-b:], b"\x00" * b)
+ )
):
raise InvalidUnwrap()
- return data[:-b]
+ if b == 0:
+ return data
+ else:
+ return data[:-b]
def aes_key_unwrap(wrapping_key, wrapped_key, backend):