yubikit.management
Attributes
Classes
YubiKey Application identifiers. |
|
YubiKey device form factors. |
|
Configuration flags. |
|
YubiKey release type. |
|
Management settings for YubiKey which can be configured by the user. |
|
Fully qualified YubiKey version |
|
Information about a YubiKey readable using the ManagementSession. |
|
YubiKey USB Mode configuration for use with YubiKey NEO and 4. |
|
Module Contents
- class yubikit.management.CAPABILITY[source]
Bases:
enum.IntFlag
YubiKey Application identifiers.
- OTP = 1
- U2F = 2
- FIDO2 = 512
- OATH = 32
- PIV = 16
- OPENPGP = 8
- HSMAUTH = 256
- property usb_interfaces: yubikit.core.USB_INTERFACE
- Return type:
- class yubikit.management.FORM_FACTOR[source]
Bases:
enum.IntEnum
YubiKey device form factors.
- UNKNOWN = 0
- USB_A_KEYCHAIN = 1
- USB_A_NANO = 2
- USB_C_KEYCHAIN = 3
- USB_C_NANO = 4
- USB_C_LIGHTNING = 5
- USB_A_BIO = 6
- USB_C_BIO = 7
- class yubikit.management.DEVICE_FLAG[source]
Bases:
enum.IntFlag
Configuration flags.
- REMOTE_WAKEUP = 64
- EJECT = 128
- class yubikit.management.RELEASE_TYPE[source]
Bases:
enum.IntEnum
YubiKey release type.
- ALPHA = 0
- BETA = 1
- FINAL = 2
- yubikit.management.TAG_USB_SUPPORTED = 1
- yubikit.management.TAG_SERIAL = 2
- yubikit.management.TAG_USB_ENABLED = 3
- yubikit.management.TAG_FORM_FACTOR = 4
- yubikit.management.TAG_VERSION = 5
- yubikit.management.TAG_AUTO_EJECT_TIMEOUT = 6
- yubikit.management.TAG_CHALRESP_TIMEOUT = 7
- yubikit.management.TAG_DEVICE_FLAGS = 8
- yubikit.management.TAG_APP_VERSIONS = 9
- yubikit.management.TAG_CONFIG_LOCK = 10
- yubikit.management.TAG_UNLOCK = 11
- yubikit.management.TAG_REBOOT = 12
- yubikit.management.TAG_NFC_SUPPORTED = 13
- yubikit.management.TAG_NFC_ENABLED = 14
- yubikit.management.TAG_IAP_DETECTION = 15
- yubikit.management.TAG_MORE_DATA = 16
- yubikit.management.TAG_FREE_FORM = 17
- yubikit.management.TAG_HID_INIT_DELAY = 18
- yubikit.management.TAG_PART_NUMBER = 19
- yubikit.management.TAG_FIPS_CAPABLE = 20
- yubikit.management.TAG_FIPS_APPROVED = 21
- yubikit.management.TAG_PIN_COMPLEXITY = 22
- yubikit.management.TAG_NFC_RESTRICTED = 23
- yubikit.management.TAG_RESET_BLOCKED = 24
- yubikit.management.TAG_VERSION_QUALIFIER = 25
- yubikit.management.TAG_FPS_VERSION = 32
- yubikit.management.TAG_STM_VERSION = 33
- class yubikit.management.DeviceConfig[source]
Management settings for YubiKey which can be configured by the user.
- enabled_capabilities: dict[yubikit.core.TRANSPORT, CAPABILITY]
- device_flags: DEVICE_FLAG | None = None
- class yubikit.management.VersionQualifier[source]
Fully qualified YubiKey version
- version: yubikit.core.Version
- type: RELEASE_TYPE
- class yubikit.management.DeviceInfo[source]
Information about a YubiKey readable using the ManagementSession.
- config: DeviceConfig
- version: yubikit.core.Version
- form_factor: FORM_FACTOR
- supported_capabilities: Mapping[yubikit.core.TRANSPORT, CAPABILITY]
- fips_capable: CAPABILITY
- fips_approved: CAPABILITY
- reset_blocked: CAPABILITY
- fps_version: yubikit.core.Version | None = None
- stm_version: yubikit.core.Version | None = None
- version_qualifier: VersionQualifier
- has_transport(transport)[source]
- Parameters:
transport (yubikit.core.TRANSPORT)
- Return type:
- classmethod parse(encoded, default_version)[source]
- Parameters:
encoded (bytes)
default_version (yubikit.core.Version)
- Return type:
- classmethod parse_tlvs(data, default_version)[source]
- Parameters:
default_version (yubikit.core.Version)
- Return type:
- class yubikit.management.Mode(interfaces)[source]
YubiKey USB Mode configuration for use with YubiKey NEO and 4.
- Parameters:
interfaces (yubikit.core.USB_INTERFACE)
- interfaces: yubikit.core.USB_INTERFACE
- yubikit.management.SLOT_DEVICE_CONFIG = 17
- yubikit.management.SLOT_YK4_CAPABILITIES = 19
- yubikit.management.SLOT_YK4_SET_DEVICE_INFO = 21
- yubikit.management.INS_SET_MODE = 22
- yubikit.management.INS_READ_CONFIG = 29
- yubikit.management.INS_WRITE_CONFIG = 28
- yubikit.management.INS_DEVICE_RESET = 31
- yubikit.management.P1_DEVICE_CONFIG = 17
- yubikit.management.CTAP_VENDOR_FIRST = 64
- yubikit.management.CTAP_YUBIKEY_DEVICE_CONFIG = 64
- yubikit.management.CTAP_READ_CONFIG = 66
- yubikit.management.CTAP_WRITE_CONFIG = 67
- class yubikit.management.ManagementSession(connection, scp_key_params=None)[source]
- Parameters:
connection (Union[yubikit.core.otp.OtpConnection, yubikit.core.smartcard.SmartCardConnection, yubikit.core.fido.FidoConnection])
scp_key_params (Optional[yubikit.core.smartcard.ScpKeyParams])
- close()[source]
Close the underlying connection.
- Deprecated:
call .close() on the underlying connection instead.
- Return type:
None
- property version: yubikit.core.Version
The firmware version of the YubiKey
- Return type:
- write_device_config(config=None, reboot=False, cur_lock_code=None, new_lock_code=None)[source]
Write configuration settings for YubiKey.
- Parameters:
config (Optional[DeviceConfig]) – The device configuration.
reboot (bool) – If True the YubiKey will reboot.
cur_lock_code (Optional[bytes]) – Current lock code.
new_lock_code (Optional[bytes]) – New lock code.
- Return type:
None