diff --git a/tools/secure_key/macos.py b/tools/secure_key/macos.py index 381ee21..ded5eda 100644 --- a/tools/secure_key/macos.py +++ b/tools/secure_key/macos.py @@ -2,7 +2,7 @@ import sys import keyring DOMAIN = "PicoKeys.com" -USERNAME = "Pico-Fido" +USERNAME = "Pico-HSM" try: import keyring diff --git a/tools/secure_key/windows.py b/tools/secure_key/windows.py index 447d339..3f26a79 100644 --- a/tools/secure_key/windows.py +++ b/tools/secure_key/windows.py @@ -3,7 +3,7 @@ import os import base64 DOMAIN = "PicoKeys.com" -USERNAME = "Pico-Fido" +USERNAME = "Pico-HSM" try: import keyring @@ -12,7 +12,7 @@ except: sys.exit(-1) try: - from cryptography.hazmat.primitives.serialization import Encoding, PrivateFormat, NoEncryption + from cryptography.hazmat.primitives.serialization import Encoding, PrivateFormat, NoEncryption, load_pem_private_key from cryptography.hazmat.primitives.asymmetric import ec except: print('ERROR: cryptography module not found! Install cryptography package.\nTry with `pip install cryptography`') @@ -26,19 +26,19 @@ def generate_secure_key(): return keyring.get_password(DOMAIN, USERNAME) def get_d(key): - return key.private_numbers().private_value.to_bytes(32, 'big') + return load_pem_private_key(key, password=None).private_numbers().private_value.to_bytes(32, 'big') def set_secure_key(pk): try: keyring.delete_password(DOMAIN, USERNAME) except: pass - keyring.set_password(DOMAIN, USERNAME, pk.private_bytes(Encoding.PEM, PrivateFormat.TraditionalOpenSSL, NoEncryption())) + keyring.set_password(DOMAIN, USERNAME, pk.private_bytes(Encoding.PEM, PrivateFormat.PKCS8, NoEncryption()).decode()) def get_secure_key(): key = None try: - key = keyring.get_password(DOMAIN, USERNAME)[0] + key = keyring.get_password(DOMAIN, USERNAME) except keyring.errors.KeyringError: - key = generate_secure_key()[0] - return get_d(key) + key = generate_secure_key() + return get_d(key.encode())