Usage Guide

Das Nitrokey Python SDK unterstützt derzeit Nitrokey 3 (nitrokey.nk3.NK3) und Nitrokey Hauptschlüssel (nitrokey.nkpk.NKPK) Geräte. Beide Geräte basieren auf der gleichen Plattform, Trussed, und teilen sich daher die gleiche Basisklasse nitrokey.trussed.TrussedDevice.

Geräte mit Truss können in einem Bootloader-Modus neu gebootet werden, der für Firmware-Updates verwendet wird. Auf Geräte im Bootloader-Modus kann mit nitrokey.nk3.NK3Bootloader und nitrokey.nkpk.NKPKBootloader (Basisklasse nitrokey.trussed.TrussedBootloader) zugegriffen werden.

Listing and Opening Devices

Verwenden Sie die Funktion nitrokey.trussed.TrussedDevice.list(), um alle angeschlossenen Geräte aufzulisten und zu öffnen:

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}")

Wenn Sie den Gerätepfad kennen, verwenden Sie stattdessen 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}")

Ähnliche Funktionen sind für nitrokey.nk3.NK3Bootloader und nitrokey.nkpk.NKPKBootloader verfügbar. Um sowohl normale als auch Bootloader-Geräte aufzulisten, verwenden Sie nitrokey.nk3.list() und nitrokey.nkpk.list().

Bemerkung

Derzeit sind die von nitrokey.trussed.TrussedDevice.list(), nitrokey.nk3.list() und nitrokey.nkpk.list() zurückgegebenen Geräte nur bis zum nächsten Aufruf einer dieser Funktionen gültig. Siehe Ausgabe 31 für weitere Informationen.

Using Applications

Das Nitrokey Python SDK unterstützt diese Anwendungen für alle Trussed-Geräte:

The Nitrokey 3 also provides these applications:

Weitere Informationen finden Sie in der API-Referenz für die Anwendungsklassen.