Usage Guide

Nitrokey Python SDK 目前支持 Nitrokey 3 (nitrokey.nk3.NK3) 和 Nitrokey Passkey (nitrokey.nkpk.NKPK) 设备。这两种设备基于相同的平台 Trussed,因此共享相同的基类 nitrokey.trussed.TrussedDevice

桁架式设备可重启至引导加载器模式,用于应用固件更新。可以使用 nitrokey.nk3.NK3Bootloadernitrokey.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.NK3Bootloadernitrokey.nkpk.NKPKBootloader。要同时列出普通设备和引导加载器设备,请使用 nitrokey.nk3.list()nitrokey.nkpk.list()

备注

目前,由 nitrokey.trussed.TrussedDevice.list()nitrokey.nk3.list()nitrokey.nkpk.list() 返回的设备仅在下一次调用这些函数之前有效。更多信息请参阅`第 31 期<https://github.com/Nitrokey/nitrokey-sdk-py/issues/31>`_ 。

Using Applications

硝基 Python SDK 支持所有 Trussed 设备的这些应用:

  • py:class:nitrokey.trussed.admin_app.AdminApp:访问设备元数据并管理设备配置状态

  • py:class:nitrokey.trussed.provisioner_app.ProvisionerApp:以供应器模式设置设备(仅适用于黑客设备)。

The Nitrokey 3 also provides these applications:

  • py:class:nitrokey.nk3.secrets_app.SecretsApp:安全地存储密码和凭证

更多信息,请参阅应用程序类的 API 参考资料。