diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2013-11-20 16:38:32 -0800 |
---|---|---|
committer | Alex Gaynor <alex.gaynor@gmail.com> | 2013-11-20 16:38:32 -0800 |
commit | 898fe0f899eb3ec744acaaa0a8641644fc6cf219 (patch) | |
tree | 27776a2146d71d6a36eef2d405d49057ef0a4e8a | |
parent | b29a6b2e4623fa87fecaccc05551b996f684cd53 (diff) | |
download | cryptography-898fe0f899eb3ec744acaaa0a8641644fc6cf219.tar.gz cryptography-898fe0f899eb3ec744acaaa0a8641644fc6cf219.tar.bz2 cryptography-898fe0f899eb3ec744acaaa0a8641644fc6cf219.zip |
Key in the right place
-rw-r--r-- | cryptography/fernet.py | 1 | ||||
-rw-r--r-- | tests/test_fernet.py | 10 |
2 files changed, 6 insertions, 5 deletions
diff --git a/cryptography/fernet.py b/cryptography/fernet.py index 32bd35d5..ae3a8bfa 100644 --- a/cryptography/fernet.py +++ b/cryptography/fernet.py @@ -61,6 +61,7 @@ bool Cryptography_constant_time_compare(uint8_t *a, size_t len_a, uint8_t *b, class Fernet(object): def __init__(self, key, backend=None): super(Fernet, self).__init__() + key = base64.urlsafe_b64decode(key) assert len(key) == 32 self.signing_key = key[:16] self.encryption_key = key[16:] diff --git a/tests/test_fernet.py b/tests/test_fernet.py index 922f7223..4080bd2d 100644 --- a/tests/test_fernet.py +++ b/tests/test_fernet.py @@ -40,7 +40,7 @@ class TestFernet(object): ("secret", "now", "iv", "src", "token"), "generate.json", ) def test_generate(self, secret, now, iv, src, token): - f = Fernet(base64.urlsafe_b64decode(secret.encode("ascii"))) + f = Fernet(secret.encode("ascii")) actual_token = f._encrypt_from_parts( src.encode("ascii"), calendar.timegm(iso8601.parse_date(now).utctimetuple()), @@ -52,7 +52,7 @@ class TestFernet(object): ("secret", "now", "src", "ttl_sec", "token"), "verify.json", ) def test_verify(self, secret, now, src, ttl_sec, token): - f = Fernet(base64.urlsafe_b64decode(secret.encode("ascii"))) + f = Fernet(secret.encode("ascii")) current_time = calendar.timegm(iso8601.parse_date(now).utctimetuple()) payload = f.decrypt( token.encode("ascii"), ttl=ttl_sec, current_time=current_time @@ -61,7 +61,7 @@ class TestFernet(object): @json_parametrize(("secret", "token", "now", "ttl_sec"), "invalid.json") def test_invalid(self, secret, token, now, ttl_sec): - f = Fernet(base64.urlsafe_b64decode(secret.encode("ascii"))) + f = Fernet(secret.encode("ascii")) current_time = calendar.timegm(iso8601.parse_date(now).utctimetuple()) with pytest.raises(InvalidToken): f.decrypt( @@ -69,7 +69,7 @@ class TestFernet(object): ) def test_unicode(self): - f = Fernet(b"\x00" * 32) + f = Fernet(base64.b64encode(b"\x00" * 32)) with pytest.raises(TypeError): f.encrypt(six.u("")) with pytest.raises(TypeError): @@ -77,5 +77,5 @@ class TestFernet(object): @pytest.mark.parametrize("message", [b"", b"Abc!", b"\x00\xFF\x00\x80"]) def test_roundtrips(self, message): - f = Fernet(b"\x00" * 32) + f = Fernet(base64.urlsafe_b64encode(b"\x00" * 32)) assert f.decrypt(f.encrypt(message)) == message |