コード例 #1
0
ファイル: test_fernet.py プロジェクト: heroku/fernet-py
    def test_it_allows_binary_strings(self):
        message = b"\x80\xFF"
        token = fernet.generate(self.secret, message)

        verifier = fernet.verifier(self.secret, token)
        verifier.valid() |should| be(True)
        verifier.message |should| equal_to(message)
コード例 #2
0
    def test_it_allows_binary_strings(self):
        message = b"\x80\xFF"
        token = fernet.generate(self.secret, message)

        verifier = fernet.verifier(self.secret, token)
        verifier.valid() | should | be(True)
        verifier.message | should | equal_to(message)
コード例 #3
0
ファイル: test_fernet.py プロジェクト: heroku/fernet-py
    def test_it_fails_with_a_bad_secret(self):
        token = fernet.generate(self.secret, '*****@*****.**')

        verifier = fernet.verifier(self.bad_secret, token)
        verifier.valid() |should| be(False)

        with self.assertRaises(fernet.Token.InvalidToken):
            verifier.message()
コード例 #4
0
    def test_it_fails_with_a_bad_secret(self):
        token = fernet.generate(self.secret, '*****@*****.**')

        verifier = fernet.verifier(self.bad_secret, token)
        verifier.valid() | should | be(False)

        with self.assertRaises(fernet.Token.InvalidToken):
            verifier.message()
コード例 #5
0
    def test_it_can_ignore_ttl_enforcement_via_global_config(self):
        fernet.Configuration.enforce_ttl = False
        token = fernet.generate(self.secret, '*****@*****.**')
        verifier = fernet.verifier(self.secret,
                                   token,
                                   now=long(time.time()) + 9999)

        verifier.valid() | should | be(True)
コード例 #6
0
ファイル: __init__.py プロジェクト: donaldrivard/Providence
 def encrypt(value):
     if key is None:
         return value
     if CRYPTO_FERNET == True:
         f = Fernet(key)
         token = f.encrypt(bytes(value))
     else:
         token = fernet.generate(key, value)
     return token
コード例 #7
0
ファイル: __init__.py プロジェクト: tuandang/Providence
 def encrypt(value):
     if key is None:
         return value
     if CRYPTO_FERNET == True:
         f = Fernet(key)
         token = f.encrypt(bytes(value))
     else:
         token = fernet.generate(key, value)
     return token
コード例 #8
0
    def test_it_allows_overriding_enforce_ttl_on_a_verifier(self):
        fernet.Configuration.enforce_ttl = True
        fernet.Configuration.ttl = 0

        token = fernet.generate(self.secret, 'password1')
        verifier = fernet.verifier(self.secret, token)
        verifier.enforce_ttl = False

        verifier.valid() | should | be(True)
        verifier.message | should | equal_to('password1')
コード例 #9
0
ファイル: test_fernet.py プロジェクト: heroku/fernet-py
    def test_it_allows_overriding_enforce_ttl_on_a_verifier(self):
        fernet.Configuration.enforce_ttl = True
        fernet.Configuration.ttl = 0

        token = fernet.generate(self.secret, 'password1')
        verifier = fernet.verifier(self.secret, token)
        verifier.enforce_ttl = False

        verifier.valid() |should| be(True)
        verifier.message |should| equal_to('password1')
コード例 #10
0
 def inner(message):
     return fernet.generate(key, func(message))
コード例 #11
0
    def test_it_can_verify_tokens_it_generates(self):
        token = fernet.generate(self.secret, '*****@*****.**')

        verifier = fernet.verifier(self.secret, token)
        verifier.valid() | should | be(True)
        verifier.message | should | equal_to('*****@*****.**')
コード例 #12
0
ファイル: test_fernet.py プロジェクト: heroku/fernet-py
    def test_it_can_ignore_ttl_enforcement_via_global_config(self):
        fernet.Configuration.enforce_ttl = False
        token = fernet.generate(self.secret, '*****@*****.**')
        verifier = fernet.verifier(self.secret, token, now=long(time.time()) + 9999)

        verifier.valid() |should| be(True)
コード例 #13
0
ファイル: test_fernet.py プロジェクト: heroku/fernet-py
    def test_it_does_not_send_the_message_in_plain_text(self):
        token = fernet.generate(self.secret, 'password1')

        base64.urlsafe_b64decode(token) |should_not| contain('password1')
コード例 #14
0
ファイル: test_fernet.py プロジェクト: heroku/fernet-py
 def test_it_fails_if_the_token_is_too_old(self):
     token = fernet.generate(self.secret, '*****@*****.**', now = (long(time.time()) - 61))
     verifier = fernet.verifier(self.secret, token)
     verifier.valid() |should| be(False)
コード例 #15
0
 def test_it_fails_if_the_token_is_too_old(self):
     token = fernet.generate(self.secret,
                             '*****@*****.**',
                             now=(long(time.time()) - 61))
     verifier = fernet.verifier(self.secret, token)
     verifier.valid() | should | be(False)
コード例 #16
0
ファイル: test_fernet.py プロジェクト: heroku/fernet-py
    def test_it_can_verify_tokens_it_generates(self):
        token = fernet.generate(self.secret, '*****@*****.**')

        verifier = fernet.verifier(self.secret, token)
        verifier.valid() |should| be(True)
        verifier.message |should| equal_to('*****@*****.**')
コード例 #17
0
    def db_value(self, value):
        if not self.key:
            raise EncryptedField.KeyIsUndefined()

        return fernet.generate(self.key, value)
コード例 #18
0
    def test_it_does_not_send_the_message_in_plain_text(self):
        token = fernet.generate(self.secret, 'password1')

        base64.urlsafe_b64decode(token) | should_not | contain('password1')