Usage Guide¶
В настоящее время Nitrokey Python SDK поддерживает устройства Nitrokey 3 (nitrokey.nk3.NK3
) и Nitrokey Passkey (nitrokey.nkpk.NKPK
). Оба устройства основаны на одной и той же платформе, Trussed, и поэтому имеют один и тот же базовый класс nitrokey.trussed.TrussedDevice
.
Устройства с фермой могут быть перезагружены в режим загрузчика, который используется для применения обновлений прошивки. Доступ к устройствам в режиме загрузчика можно получить с помощью 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
. Чтобы получить список обычных устройств и устройств с загрузчиком, используйте nitrokey.nk3.list()
и nitrokey.nkpk.list()
.
Примечание
В настоящее время устройства, возвращаемые nitrokey.trussed.TrussedDevice.list()
, nitrokey.nk3.list()
и nitrokey.nkpk.list()
, действительны только до следующего вызова любой из этих функций. Дополнительную информацию см. на сайте выпуск 31.
Using Applications¶
Nitrokey Python SDK поддерживает эти приложения для всех устройств Trussed:
nitrokey.trussed.admin_app.AdminApp
: доступ к метаданным устройства и управление состоянием конфигурации устройстваnitrokey.trussed.provisioner_app.ProvisionerApp
: настройка устройства в режиме провайдера (применимо только для устройств Hacker)
The Nitrokey 3 also provides these applications:
nitrokey.nk3.secrets_app.SecretsApp
: безопасное хранение паролей и учетных данных
Дополнительные сведения см. в справочнике API для классов приложений.