Table of Contents

Class ConfigureNdefCommand

Namespace
Yubico.YubiKey.Otp.Commands
Assembly
Yubico.YubiKey.dll

Applies a configuration to one of the two configurable NDEF slots. Note that only the primary NDEF slot (Slot.ShortPress) is accessible through NFC.

public class ConfigureNdefCommand : IYubiKeyCommand<ReadStatusResponse>
Inheritance
object
ConfigureNdefCommand
Implements

Constructors

ConfigureNdefCommand(Slot, ReadOnlySpan<byte>)

Constructs an instance of the ConfigureNdefCommand class.

public ConfigureNdefCommand(Slot slot, ReadOnlySpan<byte> configuration)

Parameters

slot Slot

The slot to which the configuration should apply. The ShortPress slot corresponds to the primary NDEF configuration.

configuration ReadOnlySpan<byte>

The configuration data for the slot. Use the NdefConfig class and methods to generate this data.

ConfigureNdefCommand(Slot, ReadOnlySpan<byte>, ReadOnlySpan<byte>)

Constructs an instance of the ConfigureNdefCommand class for a slot which is protected by an access code.

public ConfigureNdefCommand(Slot slot, ReadOnlySpan<byte> configuration, ReadOnlySpan<byte> accessCode)

Parameters

slot Slot

The slot to which the configuration should apply. The ShortPress slot corresponds to the primary NDEF configuration.

configuration ReadOnlySpan<byte>

The configuration data for the slot. Use the NdefConfig class and methods to generate this data.

accessCode ReadOnlySpan<byte>

The access code protecting the slot.

Remarks

YubiKey 5 NFC devices with firmware versions 5.0.0 to 5.2.6 and 5.3.0 to 5.3.1 are affected by YSA-2020-04. Devices with this firmware will not verify access codes on NDEF slots correctly. Please read the security advisory for more details.

Fields

AccessCodeLength

The required size for the AccessCode buffer.

public const int AccessCodeLength = 6

Field Value

int

Properties

Application

Gets the YubiKeyApplication (e.g. PIV, OATH, etc.) to which this command applies.

public YubiKeyApplication Application { get; }

Property Value

YubiKeyApplication

YubiKeyApplication.Otp, YubiKeyApplication.Piv, etc.

Methods

CreateCommandApdu()

Creates a well-formed CommandApdu to send to the YubiKey.

public CommandApdu CreateCommandApdu()

Returns

CommandApdu

A valid CommandApdu that is ready to be sent to the YubiKey, or passed along to additional encoders for further processing.

Remarks

This method will first perform validation on all of the parameters and data provided to it. The CommandAPDU it creates should contain all of the data payload for the command, even if it exceeds 65,535 bytes as specified by the ISO 7816-4 specification. The APDU will be properly chained by the device connection prior to being sent to the YubiKey, and the responses will collapsed into a single result.

CreateResponseForApdu(ResponseApdu)

Creates the corresponding IYubiKeyResponse implementation for the current command.

public ReadStatusResponse CreateResponseForApdu(ResponseApdu responseApdu)

Parameters

responseApdu ResponseApdu

The ResponseApdu returned by the YubiKey.

Returns

ReadStatusResponse

The implementation of IYubiKeyResponse that parses and presents ths response APDU.