If no key is found, generate a new one.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
Pol Henarejos 2023-11-06 17:10:19 +01:00
parent 88ff27f354
commit a3bf2e9e14
No known key found for this signature in database
GPG key ID: C0095B7870A4CCD3
2 changed files with 6 additions and 2 deletions

View file

@ -51,7 +51,9 @@ def get_secure_key():
try:
backend = get_backend(False)
key = backend.get_password(DOMAIN, USERNAME)[0]
except keyring.errors.KeyringError:
if (key is None):
raise TypeError
except (keyring.errors.KeyringError, TypeError):
try:
key = generate_secure_key(False)[0] # It should be True, but secure enclave causes python segfault
except keyring.errors.PasswordSetError:

View file

@ -39,6 +39,8 @@ def get_secure_key():
key = None
try:
key = keyring.get_password(DOMAIN, USERNAME)
except keyring.errors.KeyringError:
if (key is None):
raise TypeError
except (keyring.errors.KeyringError, TypeError):
key = generate_secure_key()
return get_d(key.encode())