nitrokey.trussed

Submodules

Objets du dispositif en treillis

class nitrokey.trussed.TrussedBase

Classe de base pour les appareils Nitrokey utilisant le framework Trussed et exécutant le firmware ou le bootloader.

abstract close()
Type renvoyé:

None

abstract reboot()
Type renvoyé:

bool

abstract uuid()
Type renvoyé:

Uuid | None

abstract property name: str
abstract property path: str
abstract property pid: int
property vid: int
class nitrokey.trussed.TrussedDevice

Bases : TrussedBase

__init__(device, fido2_certs)
Paramètres:
  • device (CtapHidDevice)

  • fido2_certs (Sequence[Fido2Certs])

Type renvoyé:

None

close()
Type renvoyé:

None

abstract classmethod from_device(device)
Paramètres:

device (CtapHidDevice)

Type renvoyé:

T

classmethod list()
Type renvoyé:

list[T]

classmethod open(path)
Paramètres:

path (str)

Type renvoyé:

T | None

reboot()
Type renvoyé:

bool

uuid()
Type renvoyé:

Uuid | None

wink()
Type renvoyé:

None

property path: str
class nitrokey.trussed.TrussedBootloader

Bases : TrussedBase

abstract update(image, callback=None)
Paramètres:
  • image (bytes)

  • callback (Callable[[int, int], None] | None)

Type renvoyé:

None

abstract property variant: Variant

Update Container Objects

nitrokey.trussed.parse_firmware_image(variant, data, model)
Paramètres:
Type renvoyé:

FirmwareMetadata

class nitrokey.trussed.FirmwareContainer

FirmwareContainer(version : Nitrokey.trussed._utils.Version, pynitrokey : Optional[nitrokey.trussed._utils.Version], images : Dict[nitrokey.trussed._bootloader.Variant, bytes])

__init__(version, pynitrokey, images)
Paramètres:
Type renvoyé:

None

classmethod parse(path, model)
Paramètres:
  • path (str | BytesIO)

  • model (Model)

Type renvoyé:

FirmwareContainer

images: Dict[Variant, bytes]
pynitrokey: Version | None
version: Version
class nitrokey.trussed.FirmwareMetadata

FirmwareMetadata(version : Nitrokey.trussed._utils.Version, signed_by : Optional[str] = None, signed_by_nitrokey : bool = False)

__init__(version, signed_by=None, signed_by_nitrokey=False)
Paramètres:
  • version (Version)

  • signed_by (str | None)

  • signed_by_nitrokey (bool)

Type renvoyé:

None

signed_by: str | None = None
signed_by_nitrokey: bool = False
version: Version
class nitrokey.trussed.Variant

Bases : Enum

classmethod from_str(s)
Paramètres:

s (str)

Type renvoyé:

Variant

LPC55 = 'lpc55'
NRF52 = 'nrf52'

Objets utilitaires

class nitrokey.trussed.App

Bases : Enum

Commandes CTAPHID spécifiques au fournisseur pour les applications en treillis.

ADMIN = 114
PROVISIONER = 113
SECRETS = 112
class nitrokey.trussed.Fido2Certs

Fido2Certs(Démarrage de Nitrokey._utils.Version, hashes : list[str])

__init__(start, hashes)
Paramètres:
  • start (Version)

  • hashes (list[str])

Type renvoyé:

None

static get(certs, version)
Paramètres:
Type renvoyé:

Fido2Certs | None

hashes: list[str]
start: Version
class nitrokey.trussed.Model

Bases : Enum

classmethod from_str(s)
Paramètres:

s (str)

Type renvoyé:

Model

NK3 = 'Nitrokey 3'
NKPK = 'Nitrokey Passkey'
property firmware_pattern: Pattern[str]
property firmware_repository: Repository
class nitrokey.trussed.Uuid

UUID of a Nitrokey Trussed device.

__init__(value)
Paramètres:

value (int)

Type renvoyé:

None

value: int
class nitrokey.trussed.Version

La version d’un appareil Nitrokey Trussed, suivant le Semantic Versioning 2.0.0.

Certaines sources d’informations sur les versions, à savoir la version renvoyée par les anciens appareils et les binaires du micrologiciel, ne contiennent pas le composant de préversion. Ces cas sont marqués par complete=False. Ce drapeau affecte la comparaison : La préversion n’est prise en compte que si les deux instances de version sont complètes.

>>> Version(1, 0, 0)
Version(major=1, minor=0, patch=0, pre=None, build=None)
>>> Version.from_str("1.0.0")
Version(major=1, minor=0, patch=0, pre=None, build=None)
>>> Version.from_v_str("v1.0.0")
Version(major=1, minor=0, patch=0, pre=None, build=None)
>>> Version(1, 0, 0, "rc.1")
Version(major=1, minor=0, patch=0, pre='rc.1', build=None)
>>> Version.from_str("1.0.0-rc.1")
Version(major=1, minor=0, patch=0, pre='rc.1', build=None)
>>> Version.from_v_str("v1.0.0-rc.1")
Version(major=1, minor=0, patch=0, pre='rc.1', build=None)
>>> Version.from_v_str("v1.0.0-rc.1+git")
Version(major=1, minor=0, patch=0, pre='rc.1', build='git')
__init__(major, minor, patch, pre=None, build=None, complete=False)
Paramètres:
  • major (int)

  • minor (int)

  • patch (int)

  • pre (str | None)

  • build (str | None)

  • complete (bool)

Type renvoyé:

None

core()

Renvoie la partie principale de cette version, c’est-à-dire la version sans les composants de préversion et de construction.

>>> Version(1, 0, 0).core()
Version(major=1, minor=0, patch=0, pre=None, build=None)
>>> Version(1, 0, 0, "rc.1").core()
Version(major=1, minor=0, patch=0, pre=None, build=None)
>>> Version(1, 0, 0, "rc.1", "git").core()
Version(major=1, minor=0, patch=0, pre=None, build=None)
Type renvoyé:

Version

classmethod from_int(version)
Paramètres:

version (int)

Type renvoyé:

Version

classmethod from_str(s)
Paramètres:

s (str)

Type renvoyé:

Version

classmethod from_v_str(s)
Paramètres:

s (str)

Type renvoyé:

Version

build: str | None = None
complete: bool = False
major: int
minor: int
patch: int
pre: str | None = None

Trussed Exceptions

class nitrokey.trussed.TrussedException

Bases : Exception

class nitrokey.trussed.TimeoutException

Bases : TrussedException

__init__()
Type renvoyé:

None