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:
nitrokey.trussed.admin_app.AdminApp
: accede a los metadatos del dispositivo y gestiona su estado de configuraciónnitrokey.trussed.provisioner_app.ProvisionerApp
: configurar dispositivo en modo provisioner (sólo aplicable a dispositivos Hacker)
The Nitrokey 3 also provides these applications:
nitrokey.nk3.secrets_app.SecretsApp
: almacenar de forma segura contraseñas y credenciales
Para más información, consulte la referencia API de las clases de aplicación.