Usage Guide¶
O SDK Python da Nitrokey suporta atualmente os dispositivos Nitrokey 3 (nitrokey.nk3.NK3
) e Nitrokey Chave de Acesso (nitrokey.nkpk.NKPK
). Ambos os dispositivos são baseados na mesma plataforma, Trussed, e por isso partilham a mesma classe base nitrokey.trussed.TrussedDevice
.
Os dispositivos em treliça podem ser reiniciados num modo de bootloader que é utilizado para aplicar actualizações de firmware. Os dispositivos em modo bootloader podem ser acedidos utilizando nitrokey.nk3.NK3Bootloader
e nitrokey.nkpk.NKPKBootloader
(classe base nitrokey.trussed.TrussedBootloader
).
Listing and Opening Devices¶
Utilize a função nitrokey.trussed.TrussedDevice.list()
para listar e abrir todos os dispositivos ligados:
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}")
Se souber o caminho do dispositivo, use nitrokey.trussed.TrussedDevice.open()
em vez disso:
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}")
Funções similares estão disponíveis para nitrokey.nk3.NK3Bootloader
e nitrokey.nkpk.NKPKBootloader
. Para listar dispositivos normais e de bootloader, use nitrokey.nk3.list()
e nitrokey.nkpk.list()
.
Nota
Atualmente, os dispositivos devolvidos por nitrokey.trussed.TrussedDevice.list()
, nitrokey.nk3.list()
e nitrokey.nkpk.list()
só são válidos até à próxima chamada a qualquer uma destas funções. Veja issue 31 para mais informações.
Using Applications¶
O Nitrokey Python SDK suporta estas aplicações para todos os dispositivos Trussed:
nitrokey.trussed.admin_app.AdminApp
: acede aos metadados do dispositivo e gere o estado de configuração do dispositivonitrokey.trussed.provisioner_app.ProvisionerApp
: configurar dispositivo em modo provisionador (apenas aplicável a dispositivos Hacker)
The Nitrokey 3 also provides these applications:
nitrokey.nk3.secrets_app.SecretsApp
: armazena palavras-passe e credenciais de forma segura
Para mais informações, consulte a referência da API para as classes de aplicação.