Show / Hide Table of Contents

AuthenticatorInfo Class

Namespace: Yubico.YubiKey.Fido2 Assembly: Yubico.YubiKey.dll

Device information returned by the FIDO2 GetDeviceInfo command.

C#
public class AuthenticatorInfo
Inheritance object AuthenticatorInfo

Constructors

Name Description
AuthenticatorInfo(ReadOnlyMemory<byte>)

Build a new instance of AuthenticatorInfo based on the given CBOR encoding.

Fields

Name Description
AaguidLength

An Aaguid is defined in the standard as 16 bytes, no more, no less.

DefaultMaximumMessageSize

If no MaximumMessageSize is given, the standard specifies a default size of 1024.

DefaultMinimumPinLength

If no MinimumPinLength is given, the standard specifies a default length of 4.

Version20

The string in the Versions property that indicates FIDO2 version 2.0.

Version21

The string in the Versions property that indicates FIDO2 version 2.1.

Version21Pre

The string in the Versions property that indicates FIDO2 version 2.1 preview.

VersionU2f

The string in the Versions property that indicates FIDO U2F.

Properties

Name Description
Aaguid

The AAGUID, unique to the authenticator and model. This is a REQUIRED value.

Algorithms

The list of supported algorithms for credential generation. This is an optional value and can be null.

Certifications

The list of certifications the YubiKey has obtained. Each certification is a string and number. The string is the name of the certification, and the number describes the level. See The FIDO standard for more information, specifically section 7.3 of CTAP. This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

Extensions

List of extension strings of CTAP supported by the authenticator. This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

FirmwareVersion

The version of the firmware on the YubiKey. Note that this is an int, not an instance of the FirmwareVersion class. The standard specifies returning an int. This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

ForcePinChange

If true, certain PIN commands will return errors until the PIN has been changed. If false, a PIN change is not necessary. This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

MaximumCredentialBlobLength

The maximum length, in bytes, of the "credBlob" if supported. This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

MaximumCredentialCountInList

The maximum number of credentials in the CredentialID list. Note that this is not the maximum number of credentials on a YubiKey, but the maximum number of credentials represented in a CredentialID list. This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

MaximumCredentialIdLength

The maximum length of a CredentialID. This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

MaximumMessageSize

The maximum size, in bytes, of a message sent to the YubiKey. This property is OPTIONAL, and if the YubiKey provides no value, this will be null. The standard specifies a default of 1024 (see the field DefaultMaximumMessageSize).

MaximumRpidsForSetMinPinLength

The maximum number of Relying Party IDs that the YubiKey can set via the setMinPINLength subcommand. This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

MaximumSerializedLargeBlobArray

The maximum size, in bytes, of the serialized large-blob array that this YubiKey can store. If the authenticatorLargeBlobs command is not supported, this will be null. If it is supported, it will be a value greater than 1024. This property is OPTIONAL, and if the YubiKey provides no value, this will be null (the authenticatorLargeBlobs command is not supported).

MinimumPinLength

The current minimum PIN length, in Unicode code points. This property is OPTIONAL, and if the YubiKey provides no value, this will be null. The standard specifies a default of 4 (see the field DefaultMinimumPinLength).

Options

The list of supported options. Each entry in the list is a string describing the option and a boolean, indicating whether it is supported (true) or not (false). This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

PinUvAuthProtocols

List of PIN/UV Auth Protocols the YubiKey supports. They are given in the order from most to least preferred. This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

PreferredPlatformUvAttempts

The number of attempts to authenticate the UV (e.g. fingerprint) that fail before using the PIN. This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

RemainingDiscoverableCredentials

The estimated number of additional discoverable credentials that can be stored. This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

Transports

List of transport strings of CTAP supported by the authenticator. This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

UvModality

A bit field indicating the user verification methods supported by the YubiKey. The meanings of the bits are specified in the FIDO standard, namely the Registry of Predefined Values, section 3.1. This property is OPTIONAL, and if the YubiKey provides no value, this will be null.

VendorPrototypeConfigCommands

A list of vendor command IDs. If this is not null, then the YubiKey chosen supports the vendor prototype subcommand of Authenticator Config. If so, the list, which can be empty, will contain the valid vendor IDs that can be used in that subcommand. If this is null, the YubiKey chosen does not support the feature.

Versions

List of version strings of CTAP supported by the authenticator. This is a REQUIRED value.

Methods

Name Description
GetOptionValue(string)

Get the value of the given option in this AuthenticatorInfo.

IsExtensionSupported(string)

Determine if the given extension is listed in this AuthenticatorInfo.

In this article
Back to top Generated by DocFX