Usage Guide¶
Nitrokey Python SDK obsługuje obecnie urządzenia Nitrokey 3 (nitrokey.nk3.NK3
) i Nitrokey Passkey (nitrokey.nkpk.NKPK
). Oba urządzenia są oparte na tej samej platformie, Trussed, i dlatego dzielą tę samą klasę bazową nitrokey.trussed.TrussedDevice
.
Urządzenia z kratownicą mogą zostać zrestartowane do trybu bootloadera, który jest używany do stosowania aktualizacji firmware. Urządzenia w trybie bootloadera mogą być dostępne przy użyciu nitrokey.nk3.NK3Bootloader
i nitrokey.nkpk.NKPKBootloader
(klasa bazowa nitrokey.trussed.TrussedBootloader
).
Listing and Opening Devices¶
Użyj funkcji nitrokey.trussed.TrussedDevice.list()
, aby wyświetlić listę i otworzyć wszystkie podłączone urządzenia:
from nitrokey.nk3 import NK3
from nitrokey.nkpk import NKPK
print("Connected Nitrokey devices:")
for device in NK3.list():
print(f"- {device.name} at {device.path}")
for device in NKPK.list():
print(f"- {device.name} at {device.path}")
Jeśli znasz ścieżkę urządzenia, użyj nitrokey.trussed.TrussedDevice.open()
zamiast:
from nitrokey.nk3 import NK3
from nitrokey.nkpk import NKPK
path = "/dev/hidraw1"
device = NK3.open(path)
if device is not None:
print(f"Found {device.name} at {path}")
device = NKPK.open(path)
if device is not None:
print(f"Found {device.name} at {path}")
Podobne funkcje są dostępne dla nitrokey.nk3.NK3Bootloader
i nitrokey.nkpk.NKPKBootloader
. Aby wyświetlić listę urządzeń normalnych i bootloaderów, użyj nitrokey.nk3.list()
i nitrokey.nkpk.list()
.
Informacja
Obecnie urządzenia zwrócone przez nitrokey.trussed.TrussedDevice.list()
, nitrokey.nk3.list()
i nitrokey.nkpk.list()
są ważne tylko do następnego wywołania którejkolwiek z tych funkcji. Zobacz wydanie 31 po więcej informacji.
Using Applications¶
Nitrokey Python SDK obsługuje te aplikacje dla wszystkich urządzeń Trussed:
nitrokey.trussed.admin_app.AdminApp
: dostęp do metadanych urządzenia i zarządzanie stanem konfiguracji urządzenianitrokey.trussed.provisioner_app.ProvisionerApp
: konfiguracja urządzenia w trybie provisionera (dotyczy tylko urządzeń Hacker)
The Nitrokey 3 also provides these applications:
py:class:nitrokey.nk3.secrets_app.SecretsApp: bezpieczne przechowywanie haseł i danych uwierzytelniających
Więcej informacji można znaleźć w odnośniku API dla klas aplikacji.