Table of Contents

Class ClientPinData

Namespace
Yubico.YubiKey.Fido2.Commands
Assembly
Yubico.YubiKey.dll

The results of a call to the ClientPinCommand command class.

public class ClientPinData
Inheritance
object
ClientPinData

Remarks

This class contains all of the data that can be returned in a ClientPinResponse response. Since this response may represent one of several different sub-responses, not all of the properties will be set to a value. Which property is set depends on what kind of client PIN subcommand was issued.

It is often more convenient to issue a subcommand directly through its command class representation. That command class will have a partner response class that will only return the set of information that is relevant to that subcommand. It is recommended that you use this approach rather than using ClientPinCommand, ClientPinResponse, and ClientPinData directly.

Properties

KeyAgreement

Used to convey the authenticator's public key to the client / platform.

public CoseKey? KeyAgreement { get; set; }

Property Value

CoseKey

PinRetries

The number of PIN attempts remaining before the YubiKey's FIDO2 application is locked out.

public int? PinRetries { get; set; }

Property Value

int?

PinUvAuthToken

The pinUvAuthToken, encrypted by calling encrypt on the PIN/UV auto protocol with the shared secret as the key.

public ReadOnlyMemory<byte>? PinUvAuthToken { get; set; }

Property Value

ReadOnlyMemory<byte>?

PowerCycleState

Indicates whether the YubiKey requires a power cycle before any future PIN operations can continue.

public bool? PowerCycleState { get; set; }

Property Value

bool?

Remarks

Present and `true` if the YubiKey needs to be power cycled (unplugged and re-plugged in), `false` if no power cycle is needed, and `null` if no information was given.

This field is only valid in response to the `getRetries` subcommand. The YubiKey will return this when an authentication has been blocked due to excessive retries. The power cycle behavior is a security property of the FIDO2 PIN protocol, and helps prevent automated attacks against the PIN.

UvRetries

The number of User Verification retries remaining before a lockout of the YubiKey will occur.

public int? UvRetries { get; set; }

Property Value

int?