From 09bff867916af9694d66c2fea917d192f7dd1a25 Mon Sep 17 00:00:00 2001 From: Alex Gaynor Date: Fri, 22 Nov 2013 17:27:08 -0800 Subject: Handle another error case --- cryptography/fernet.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cryptography/fernet.py b/cryptography/fernet.py index efa13b8f..aa46b36f 100644 --- a/cryptography/fernet.py +++ b/cryptography/fernet.py @@ -129,7 +129,11 @@ class Fernet(object): decryptor = Cipher( algorithms.AES(self.encryption_key), modes.CBC(iv), self.backend ).decryptor() - plaintext_padded = decryptor.update(ciphertext) + decryptor.finalize() + plaintext_padded = decryptor.update(ciphertext) + try: + plaintext_padded += decryptor.finalize() + except ValueError: + raise InvalidToken unpadder = padding.PKCS7(algorithms.AES.block_size).unpadder() unpadded = unpadder.update(plaintext_padded) -- cgit v1.2.3