Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Desktop Platform Support for YubiKey SDK #164

Merged
merged 25 commits into from
Jan 21, 2025
Merged

Add Desktop Platform Support for YubiKey SDK #164

merged 25 commits into from
Jan 21, 2025

Conversation

AdamVe
Copy link
Member

@AdamVe AdamVe commented Jan 17, 2025

Overview

This PR extends the Android YubiKey SDK to support desktop platforms (macOS, Linux, and Windows), enabling developers to build desktop applications that can communicate with YubiKeys using the same SDK.

Current Status ⚠️

This is an initial beta implementation with the following limitations:

  • Desktop support is in early development stage
  • Not yet production-ready
  • May contain unhandled edge cases
  • Limited testing across different OS versions

Key Changes

  • Added platform-specific implementations for desktop OS communication with YubiKeys
  • Updated build configuration to support desktop targets
  • Updated integration tests to support desktop targets
  • Added simple demo application

Testing

  • Verified YubiKey communication on:
    • macOS (YubiKey Neo, YubiKey 5.4, YubiKey 5.7, Security key)
    • Linux (YubiKey Neo, YubiKey 5.4, YubiKey 5.7, Security key)
    • Windows (YubiKey Neo, YubiKey 5.4, YubiKey 5.7, Security key)
  • different platforms have different requirements for communication over HID and FIDO.

@AdamVe AdamVe marked this pull request as ready for review January 17, 2025 15:29
Copy link
Member

@dainnilsson dainnilsson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should add a README.adoc to the desktop/ directory as well, and clearly indicate that it is experimental and not stable.

README.adoc Outdated
@@ -76,6 +76,16 @@ If you run into any issues during the development process, please fill out a
developer https://support.yubico.com/support/tickets/new[support ticket] and
our team will be happy to assist you.

=== Support for desktop apps
WARNING: This is an introductory version and is not intended for production use.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would call it an "experimental" version rather than "introductory". Also add a line stating that the API should not be considered stable, and may change with new versions.

@dainnilsson
Copy link
Member

Also add a README.adoc to DesktopDemo/

@AdamVe AdamVe requested a review from dainnilsson January 21, 2025 11:06
@AdamVe AdamVe merged commit a35cd4b into main Jan 21, 2025
16 checks passed
@AdamVe AdamVe deleted the feature/desktop branch January 21, 2025 12:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants