aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cryptography/fernet.py4
-rw-r--r--tests/test_fernet.py23
2 files changed, 25 insertions, 2 deletions
diff --git a/cryptography/fernet.py b/cryptography/fernet.py
index 59d8ad0c..2c134bbd 100644
--- a/cryptography/fernet.py
+++ b/cryptography/fernet.py
@@ -53,8 +53,8 @@ class Fernet(object):
hmac = h.digest()
if not constant_time_compare(hmac, data[-32:]):
raise ValueError
- unencryptor = BlockCipher(ciphers.AES(self.encryption_key), modes.CBC(iv)).unencryptor()
- plaintext_padded = unencryptor.update(ciphertext) + unencryptor.finalize()
+ decryptor = BlockCipher(ciphers.AES(self.encryption_key), modes.CBC(iv)).decryptor()
+ plaintext_padded = decryptor.update(ciphertext) + decryptor.finalize()
unpadder = padding.PKCS7(ciphers.AES.block_size).unpadder()
return unpadder.update(plaintext_padded) + unpadder.finalize()
diff --git a/tests/test_fernet.py b/tests/test_fernet.py
new file mode 100644
index 00000000..e9d07f81
--- /dev/null
+++ b/tests/test_fernet.py
@@ -0,0 +1,23 @@
+import base64
+
+from cryptography.fernet import Fernet
+
+
+class TestFernet(object):
+ def test_generate(self):
+ f = Fernet(base64.urlsafe_b64decode(
+ b"cw_0x689RpI-jtRR7oE8h_eQsKImvJapLeSbXpwF4e4="
+ ))
+ token = f._encrypt_from_parts(
+ b"hello",
+ 499162800,
+ b"\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F",
+ )
+ assert token == b"gAAAAAAdwJ6wAAECAwQFBgcICQoLDA0ODy021cpGVWKZ_eEwCGM4BLLF_5CV9dOPmrhuVUPgJobwOz7JcbmrR64jVmpU4IwqDA=="
+
+ def test_verify(self):
+ f = Fernet(base64.urlsafe_b64decode(
+ b"cw_0x689RpI-jtRR7oE8h_eQsKImvJapLeSbXpwF4e4="
+ ))
+ payload = f.decrypt(b"gAAAAAAdwJ6wAAECAwQFBgcICQoLDA0ODy021cpGVWKZ_eEwCGM4BLLF_5CV9dOPmrhuVUPgJobwOz7JcbmrR64jVmpU4IwqDA==", 60)
+ assert payload == b"hello"