From a3bf2e9e141df3f0a75e122aa7af4e2c0fce8f16 Mon Sep 17 00:00:00 2001 From: Pol Henarejos Date: Mon, 6 Nov 2023 17:10:19 +0100 Subject: [PATCH] If no key is found, generate a new one. Signed-off-by: Pol Henarejos --- tools/secure_key/macos.py | 4 +++- tools/secure_key/windows.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tools/secure_key/macos.py b/tools/secure_key/macos.py index ded5eda..a20e3d8 100644 --- a/tools/secure_key/macos.py +++ b/tools/secure_key/macos.py @@ -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: diff --git a/tools/secure_key/windows.py b/tools/secure_key/windows.py index 3f26a79..79bec21 100644 --- a/tools/secure_key/windows.py +++ b/tools/secure_key/windows.py @@ -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())