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: try:
backend = get_backend(False) backend = get_backend(False)
key = backend.get_password(DOMAIN, USERNAME)[0] key = backend.get_password(DOMAIN, USERNAME)[0]
except keyring.errors.KeyringError: if (key is None):
raise TypeError
except (keyring.errors.KeyringError, TypeError):
try: try:
key = generate_secure_key(False)[0] # It should be True, but secure enclave causes python segfault key = generate_secure_key(False)[0] # It should be True, but secure enclave causes python segfault
except keyring.errors.PasswordSetError: except keyring.errors.PasswordSetError:

View file

@ -39,6 +39,8 @@ def get_secure_key():
key = None key = None
try: try:
key = keyring.get_password(DOMAIN, USERNAME) 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() key = generate_secure_key()
return get_d(key.encode()) return get_d(key.encode())