nitrokey.trussed

Submodules

Objetos del dispositivo trussed

class nitrokey.trussed.TrussedBase

Clase base para dispositivos Nitrokey que utilicen el framework Trussed y ejecuten el firmware o el bootloader.

abstract close()
Tipo del valor devuelto:

None

abstract reboot()
Tipo del valor devuelto:

bool

abstract uuid()
Tipo del valor devuelto:

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)
Parámetros:
  • device (CtapHidDevice)

  • fido2_certs (Sequence[Fido2Certs])

Tipo del valor devuelto:

None

close()
Tipo del valor devuelto:

None

abstract classmethod from_device(device)
Parámetros:

device (CtapHidDevice)

Tipo del valor devuelto:

T

classmethod list()
Tipo del valor devuelto:

list[T]

classmethod open(path)
Parámetros:

path (str)

Tipo del valor devuelto:

T | None

reboot()
Tipo del valor devuelto:

bool

uuid()
Tipo del valor devuelto:

Uuid | None

wink()
Tipo del valor devuelto:

None

property path: str
class nitrokey.trussed.TrussedBootloader

Bases: TrussedBase

abstract update(image, callback=None)
Parámetros:
  • image (bytes)

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

Tipo del valor devuelto:

None

abstract property variant: Variant

Update Container Objects

nitrokey.trussed.parse_firmware_image(variant, data, model)
Parámetros:
Tipo del valor devuelto:

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)
Parámetros:
Tipo del valor devuelto:

None

classmethod parse(path, model)
Parámetros:
  • path (str | BytesIO)

  • model (Model)

Tipo del valor devuelto:

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)
Parámetros:
  • version (Version)

  • signed_by (str | None)

  • signed_by_nitrokey (bool)

Tipo del valor devuelto:

None

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

Bases: Enum

classmethod from_str(s)
Parámetros:

s (str)

Tipo del valor devuelto:

Variant

LPC55 = 'lpc55'
NRF52 = 'nrf52'

Objetos útiles

class nitrokey.trussed.App

Bases: Enum

Comandos CTAPHID específicos para aplicaciones Trussed.

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

Fido2Certs(inicio: nitrokey.trussed._utils.Version, hashes: lista[str])

__init__(start, hashes)
Parámetros:
  • start (Version)

  • hashes (list[str])

Tipo del valor devuelto:

None

static get(certs, version)
Parámetros:
Tipo del valor devuelto:

Fido2Certs | None

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

Bases: Enum

classmethod from_str(s)
Parámetros:

s (str)

Tipo del valor devuelto:

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)
Parámetros:

value (int)

Tipo del valor devuelto:

None

value: int
class nitrokey.trussed.Version

La versión de un dispositivo Nitrokey Trussed, siguiendo el Versionado Semántico 2.0.0.

Algunas fuentes de información sobre la versión, en concreto la versión devuelta por los dispositivos más antiguos y los binarios de firmware, no contienen el componente de pre-lanzamiento. Estas instancias se marcan con complete=False. Este indicador afecta a la comparación: La versión de pre-lanzamiento sólo se tiene en cuenta si ambas instancias de versión están completas.

>>> 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)
Parámetros:
  • major (int)

  • minor (int)

  • patch (int)

  • pre (str | None)

  • build (str | None)

  • complete (bool)

Tipo del valor devuelto:

None

core()

Devuelve la parte central de esta versión, es decir, la versión sin los componentes de prepublicación y compilación.

>>> 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)
Tipo del valor devuelto:

Version

classmethod from_int(version)
Parámetros:

version (int)

Tipo del valor devuelto:

Version

classmethod from_str(s)
Parámetros:

s (str)

Tipo del valor devuelto:

Version

classmethod from_v_str(s)
Parámetros:

s (str)

Tipo del valor devuelto:

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__()
Tipo del valor devuelto:

None