Usage Guide

Понастоящем Nitrokey Python SDK поддържа устройства Nitrokey 3 (nitrokey.nk3.NK3) и Nitrokey Passkey (nitrokey.nkpk.NKPK). И двете устройства се основават на една и съща платформа - Trussed, и следователно споделят един и същ базов клас nitrokey.trussed.TrussedDevice.

Свързаните устройства могат да бъдат рестартирани в режим на зареждане, който се използва за прилагане на актуализации на фърмуера. Достъпът до устройствата в режим bootloader може да се осъществи с помощта на nitrokey.nk3.NK3Bootloader и nitrokey.nkpk.NKPKBootloader (базов клас nitrokey.trussed.TrussedBootloader).

Listing and Opening Devices

Използвайте функцията 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}")

Ако знаете пътя до устройството, използвайте вместо това 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}")

Подобни функции са налични за nitrokey.nk3.NK3Bootloader и nitrokey.nkpk.NKPKBootloader. За да изведете в списък както нормалните устройства, така и устройствата с bootloader, използвайте nitrokey.nk3.list() и nitrokey.nkpk.list().

Note

Понастоящем устройствата, върнати от nitrokey.trussed.TrussedDevice.list(), nitrokey.nk3.list() и nitrokey.nkpk.list(), са валидни само до следващото извикване на някоя от тези функции. Вижте issue 31 за повече информация.

Using Applications

Nitrokey Python SDK поддържа тези приложения за всички устройства с ферми:

  • nitrokey.trussed.admin_app.AdminApp: достъп до метаданните на устройството и управление на състоянието на конфигурацията на устройството

  • nitrokey.trussed.provisioner_app.ProvisionerApp: настройка на устройството в режим на провизор (приложимо само за устройствата Hacker)

The Nitrokey 3 also provides these applications:

За повече информация вижте справката за API на класовете за приложения.