Skip to content

Add YubiKey HMAC-SHA1 challenge-response via usb4java#4

Open
kwsantiago wants to merge 7 commits intosparrowwallet:masterfrom
privkeyio:yubikey-hmac-challenge-response
Open

Add YubiKey HMAC-SHA1 challenge-response via usb4java#4
kwsantiago wants to merge 7 commits intosparrowwallet:masterfrom
privkeyio:yubikey-hmac-challenge-response

Conversation

@kwsantiago
Copy link
Copy Markdown

@kwsantiago kwsantiago commented Mar 11, 2026

Summary

Adds YubiKeyHmacProvider implementing HMAC-SHA1 challenge-response using the YubiKey's OTP HID interface (slot 2).

  • Raw USB control transfers via usb4java (libusb), same protocol as KeePassXC's ykcore
  • Full HID OTP frame protocol: 70-byte frames, CRC-16, chunked 8-byte feature reports, zero-chunk skipping
  • Touch-wait support with configurable callbacks for UI integration
  • Static isYubiKeyPresent() detection via hid4java
  • Exports com.sparrowwallet.lark.yubikey package in module-info

Dependency for sparrowwallet/sparrow#1967

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant