Table of Contents

Class YubiKeyDeviceInfo

Namespace
Yubico.YubiKey
Assembly
Yubico.YubiKey.dll

This class can be used in commands to set and retrieve detailed device and capabilities information for a YubiKey.

public class YubiKeyDeviceInfo : IYubiKeyDeviceInfo
Inheritance
object
YubiKeyDeviceInfo
Implements

Constructors

YubiKeyDeviceInfo()

Constructs a default instance of YubiKeyDeviceInfo.

public YubiKeyDeviceInfo()

Properties

AutoEjectTimeout

The CCID auto-eject timeout (in seconds).

public int AutoEjectTimeout { get; set; }

Property Value

int

Remarks

This field is only meaningful if TouchEject in DeviceFlags is set. A value of 0 means that the timeout is disabled (the smart card will not be ejected automatically).

The range is ushort.MinValue through ushort.MaxValue.

AvailableNfcCapabilities

The paid-for YubiKey features that are available over NFC.

public YubiKeyCapabilities AvailableNfcCapabilities { get; set; }

Property Value

YubiKeyCapabilities

AvailableUsbCapabilities

The paid-for YubiKey features that are available over USB (and Lightning).

public YubiKeyCapabilities AvailableUsbCapabilities { get; set; }

Property Value

YubiKeyCapabilities

ChallengeResponseTimeout

The period of time (in seconds) after which the OTP challenge-response command should timeout.

public byte ChallengeResponseTimeout { get; set; }

Property Value

byte

Remarks

The default value for the timeout is 15 seconds.

ConfigurationLocked

Indicates whether or not the YubiKey's configuration has been locked by the user.

public bool ConfigurationLocked { get; set; }

Property Value

bool

DeviceFlags

Device flags that can control device-global behavior.

public DeviceFlags DeviceFlags { get; set; }

Property Value

DeviceFlags

EnabledNfcCapabilities

The NFC features that are currently enabled over NFC.

public YubiKeyCapabilities EnabledNfcCapabilities { get; set; }

Property Value

YubiKeyCapabilities

EnabledUsbCapabilities

The USB features that are currently enabled over USB (and Lightning).

public YubiKeyCapabilities EnabledUsbCapabilities { get; set; }

Property Value

YubiKeyCapabilities

FipsApproved

The set of YubiKey applications that are currently configured to meet FIPS requirements.

public YubiKeyCapabilities FipsApproved { get; set; }

Property Value

YubiKeyCapabilities

FipsCapable

The set of YubiKey applications that are capable of being put into FIPS mode.

public YubiKeyCapabilities FipsCapable { get; set; }

Property Value

YubiKeyCapabilities

FirmwareVersion

The version of the firmware currently running on the YubiKey.

public FirmwareVersion FirmwareVersion { get; set; }

Property Value

FirmwareVersion

FormFactor

The form-factor of the YubiKey.

public FormFactor FormFactor { get; set; }

Property Value

FormFactor

ImageProcessorVersion

The version of the chip/firmware performing the image processing. If there is no image processing chip, this will be null. This field is also known as the "STM Version".

public ImageProcessorVersion? ImageProcessorVersion { get; set; }

Property Value

ImageProcessorVersion

IsFipsSeries

Indicates whether or not the YubiKey is a FIPS Series device.

public bool IsFipsSeries { get; set; }

Property Value

bool

Remarks

When using a YubiKey FIPS Series device as an authenticator in a FIPS environment, all of the sub-modules must be in a FIPS approved mode of operation for the YubiKey FIPS Series device as a whole to be considered as operating in a FIPS approved mode. This value does not determine whether the YubiKey is in a FIPS approved mode.

IsNfcRestricted

Indicates if the NFC connectivity on the device is temporarily disabled

public bool IsNfcRestricted { get; set; }

Property Value

bool

IsPinComplexityEnabled

Whether or not pin complexity is enabled on the Yubikey. For more information see this documentation on pin complexity

public bool IsPinComplexityEnabled { get; set; }

Property Value

bool

IsSkySeries

Indicates whether or not this device is a "Security Key by Yubico" series device.

public bool IsSkySeries { get; set; }

Property Value

bool

Remarks

Security Key Series devices only support the U2F and FIDO2 applications. This property helps differentiate these devices from a standard YubiKey that only has these two applications enabled.

PartNumber

The part number for the Secure Element processor, if available, otherwise null

public string? PartNumber { get; set; }

Property Value

string

ResetBlocked

The set of YubiKey applications that are blocked from being reset.

public YubiKeyCapabilities ResetBlocked { get; set; }

Property Value

YubiKeyCapabilities

SerialNumber

The serial number of the YubiKey, if one is present. Security Keys don't have serial numbers

public int? SerialNumber { get; set; }

Property Value

int?

TemplateStorageVersion

The version of the chip/firmware storing the fingerprints (the second secure element). If there is no template storage chip, this will be null. This field is also known as the "FPS Version".

public TemplateStorageVersion? TemplateStorageVersion { get; set; }

Property Value

TemplateStorageVersion

VersionName

public string VersionName { get; }

Property Value

string

Methods

ToString()

public override string ToString()

Returns

string