Usage Guide¶
Nitrokey Python SDK v současnosti podporuje zařízení Nitrokey 3 (nitrokey.nk3.NK3) a Nitrokey Passkey (nitrokey.nkpk.NKPK). Obě zařízení jsou založena na stejné platformě Trussed, a proto sdílejí stejnou základní třídu nitrokey.trussed.TrussedDevice.
Zařízení s příhradovým systémem lze restartovat do režimu zavaděče, který se používá k aktualizaci firmwaru. K zařízením v režimu zavaděče lze přistupovat pomocí nitrokey.nk3.NK3Bootloader a nitrokey.nkpk.NKPKBootloader (základní třída nitrokey.trussed.TrussedBootloader).
Listing and Opening Devices¶
K vypsání a otevření všech připojených zařízení použijte funkci nitrokey.trussed.TrussedDevice.list():
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}")
Pokud znáte cestu k zařízení, použijte místo toho nitrokey.trussed.TrussedDevice.open():
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}")
Podobné funkce jsou k dispozici pro nitrokey.nk3.NK3Bootloader a nitrokey.nkpk.NKPKBootloader. Chcete-li vypsat normální zařízení i zařízení bootloaderu, použijte nitrokey.nk3.list() a nitrokey.nkpk.list().
Poznámka
V současné době jsou zařízení vrácená pomocí nitrokey.trussed.TrussedDevice.list(), nitrokey.nk3.list() a nitrokey.nkpk.list() platná pouze do dalšího volání některé z těchto funkcí. Více informací naleznete na issue 31.
Using Applications¶
Nitrokey Python SDK podporuje tyto aplikace pro všechna zařízení Trussed:
nitrokey.trussed.admin_app.AdminApp: přístup k metadatům zařízení a správa stavu konfigurace zařízenínitrokey.trussed.provisioner_app.ProvisionerApp: nastavení zařízení v režimu provisioner (platí pouze pro zařízení Hacker)
The Nitrokey 3 also provides these applications:
nitrokey.nk3.secrets_app.SecretsApp: bezpečné ukládání hesel a pověření
Další informace naleznete v referenci API pro třídy aplikací.