def __init__(self, secret_key, version="v0"): # NOTE: secret_key will be None when the system is being first initialized, so we allow that # case here, but make sure to assert that it is *not* None below if any encryption is actually # needed. self._secret_key = convert_secret_key( secret_key) if secret_key is not None else None self._encryption_version = _VERSIONS[version]
def init_app(self, app, config_provider, override_config_dir): self.secret_key = convert_secret_key(app.config['SECRET_KEY']) users = get_users_handler(app.config, config_provider, override_config_dir) # register extension with app app.extensions = getattr(app, 'extensions', {}) app.extensions['authentication'] = users return users
def __init__(self, secret_key, version='v0'): self._secret_key = convert_secret_key(secret_key) self._encryption_version = _VERSIONS[version]
def test_convert_secret_key(config_secret_key, expected_secret_key): converted_secret_key = convert_secret_key(config_secret_key) assert len(converted_secret_key) == 32 assert isinstance(converted_secret_key, bytes) assert converted_secret_key == expected_secret_key
def test_aes_encrypt_decrypt(secret_key, original_msg): converted_secret_key = convert_secret_key(secret_key) cipher = AESCipher(converted_secret_key) encrypted_msg = cipher.encrypt(original_msg) assert cipher.decrypt(encrypted_msg) == original_msg
def test_aes_decrypt(secret_key, encrypted_msg, expected_msg): converted_secret_key = convert_secret_key(secret_key) cipher = AESCipher(converted_secret_key) decrypted_msg = cipher.decrypt(encrypted_msg) assert decrypted_msg == expected_msg