Pure-Go support for Yubico-specific device information and identity.
Warning
This module is under active development. Its public API may change during
v0.x.
yubicocontains transport-independent device-information models, response parsing and canonical model naming.yubico/transport/ctaphidreads device information through Yubico's CTAPHID vendor command0x42, usinggithub.com/go-ctap/ctap.yubico/transport/pcscreads device information through the Yubico management application on an exact PC/SC reader.yubico/resolveridentifies a smart-card target and distinguishes a missing Yubico management application from transport or protocol failures.
The CTAPHID transport accepts an existing vendor-command channel and does not
take ownership of it. It sends logical command 0x42; CTAPHID framing adds the
init-packet bit, so the on-wire command byte is 0xc2.
The PC/SC management AID, commands and status handling follow Yubico's
Configuration Reference
and the official
yubikey-manager
implementation.
go get github.com/go-ctap/yubico@latestSee go.mod for the required Go version.
go test ./...
go vet ./...The test suite does not require hardware.