Usage Guide

El SDK Python de Nitrokey soporta actualmente los dispositivos Nitrokey 3 (nitrokey.nk3.NK3) y Nitrokey Clave de acceso (nitrokey.nkpk.NKPK). Ambos dispositivos están basados en la misma plataforma, Trussed, y por lo tanto comparten la misma clase base nitrokey.trussed.TrussedDevice.

Los dispositivos trussed pueden reiniciarse en un modo bootloader que se utiliza para aplicar actualizaciones de firmware. Se puede acceder a los dispositivos en modo cargador de arranque utilizando nitrokey.nk3.NK3Bootloader y nitrokey.nkpk.NKPKBootloader (clase base nitrokey.trussed.TrussedBootloader).

Listing and Opening Devices

Utiliza la función nitrokey.trussed.TrussedDevice.list() para listar y abrir todos los dispositivos conectados:

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

Si conoce la ruta del dispositivo, utilice nitrokey.trussed.TrussedDevice.open() en su lugar:

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

Existen funciones similares para nitrokey.nk3.NK3Bootloader y nitrokey.nkpk.NKPKBootloader. Para listar tanto los dispositivos normales como los bootloader, utilice nitrokey.nk3.list() y nitrokey.nkpk.list().

Nota

Actualmente, los dispositivos devueltos por nitrokey.trussed.TrussedDevice.list(), nitrokey.nk3.list() y nitrokey.nkpk.list() sólo son válidos hasta la siguiente llamada a cualquiera de estas funciones. Consulta issue 31 para obtener más información.

Using Applications

El SDK Python de Nitrokey soporta estas aplicaciones para todos los dispositivos Trussed:

The Nitrokey 3 also provides these applications:

Para más información, consulte la referencia API de las clases de aplicación.