NAME

Crypt::MultiKey::YubicoOTP::Device - Represents a YubiKey discovered through the OTP interface

DESCRIPTION

This class is a simple wrapper around metadata reported by ykinfo(1), plus a few implementation-specific attributes used by the XS fallback. Attributes are exposed through read-only accessors.

ATTRIBUTES

idx

The numeric index assigned by the ykinfo tool when enumerating attached YubiKeys. This will usually be 0 when only one compatible YubiKey is attached.

This attribute is undefined when using the XS implementation, which identifies devices by their HID raw device node instead.

path

The path to the HID raw device node, such as /dev/hidraw0. This attribute is only populated when using the XS implementation.

serial

The authenticator's serial number, as a decimal string.

serial_hex

The authenticator's serial number, as a hexadecimal string.

version

The major.minor.patch firmware version reported by the YubiKey OTP interface.

touch_level

The touch configuration flags, as an intger.

programming_sequence

A counter that changes when the OTP configuration is reprogrammed.

slot1_status

The status bits of slot 1, as an integer.

slot2_status

The status bits of slot 1, as an integer.

vendor_id

The USB vendor ID reported by the device, as an integer.

product_id

The USB product ID reported by the device, as an integer.

METHODS

challenge_response

$resp= $device->challenge_response($slot, $challenge);

Shortcut for "challenge_response" in Crypt::MultiKey::YubicoOTP.

VERSION

version 0.000_001

AUTHOR

Michael Conrad <mike@nrdvana.net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by Michael Conrad.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.