-
-
Notifications
You must be signed in to change notification settings - Fork 280
Support for HID gadgets on Linux #122
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
Comments
I have compiled it, when I open main, I see the following error: |
I am using the following script which creates a HID device (
Note that you need to have built Will submit the corresponding solo patch for this soon. |
It hanged my computer or disabled all input devices after testing on WebAuthn website. Also, mount command reports that configfs is already mounted (there must be a check). Update: looks like it does not have button to approve authentication. I think there should be some output like https://github.com/concise/v2f.py I think it should also be detected as USB device if it isn't. Haven't checked. |
Yeah, unfortunately there is kernel bug which causes a deadlock when |
Also, I was forced to run Solo as root because otherwise I saw "Permission denied". |
You need to install udev rules for non-root users to be able to access the device |
There is a HID gadget driver on Linux which provides emulation of USB HID devices. This could be very useful for testing the Solo firmware without actual hardware, using only a Linux box. This patch adds a command line argument which specifies whether the existing UDP backing should be used or the new one which reads and writes to /dev/hidg0. Testing done: 1. Created HID device with configfs 2. Started "./main -b hidg" as root 3. Successfully executed Webauthn registration and authentication on the same Linux machine Closes: solokeys#122
Does not work on https://fido2.azurewebsites.net/ if "User Verification" is "Required". Is it expected behaviour? Is it same for soft and hardware token? |
AFAIK, only Microsoft Edge supports user verification with client PIN at the moment. What browser are you using? |
Tor Browser Bundle, which is based on Mozilla Firefox. |
There is a HID gadget driver on Linux which provides emulation of USB HID devices. This could be very useful for testing the Solo firmware without actual hardware, using only a Linux box. This patch adds a command line argument which specifies whether the existing UDP backing should be used or the new one which reads and writes to /dev/hidg0. Testing done: 1. Created HID device with configfs 2. Started "./main -b hidg" as root 3. Successfully executed Webauthn registration and authentication on the same Linux machine Closes: solokeys#122
There is a HID gadget driver on Linux which provides emulation of USB HID devices. This could be very useful for testing the Solo firmware without actual hardware, using only a Linux box. This patch adds a command line argument which specifies whether the existing UDP backing should be used or the new one which reads and writes to /dev/hidg0. Testing done: 1. Created HID device with configfs 2. Started "./main -b hidg" as root 3. Successfully executed Webauthn registration and authentication on the same Linux machine Closes: solokeys#122
There is a HID gadget driver on Linux which provides emulation of USB HID devices. This could be very useful for testing the Solo firmware without actual hardware, using only a Linux box. This patch adds a command line argument which specifies whether the existing UDP backing should be used or the new one which reads and writes to /dev/hidg0. Testing done: 1. Created HID device with configfs 2. Started "./main -b hidg" as root 3. Successfully executed Webauthn registration and authentication on the same Linux machine Closes: solokeys#122
There is a HID gadget driver on Linux which provides emulation of USB HID devices. This could be very useful for testing the Solo firmware without actual hardware, using only a Linux box. This patch adds a command line argument which specifies whether the existing UDP backing should be used or the new one which reads and writes to /dev/hidg0. Testing done: 1. Created HID device with configfs 2. Started "./main -b hidg" as root 3. Successfully executed Webauthn registration and authentication on the same Linux machine Closes: solokeys#122
There is a HID gadget driver on Linux which provides emulation of USB HID devices. This could be very useful for testing the Solo firmware without actual hardware, using only a Linux box. This patch adds a command line argument which specifies whether the existing UDP backing should be used or the new one which reads and writes to /dev/hidg0. Testing done: 1. Created HID device with configfs 2. Started "./main -b hidg" as root 3. Successfully executed Webauthn registration and authentication on the same Linux machine Closes: solokeys#122
Hi, great thought adding hidg support. I tried this on my Raspberry Pi, and it worked perfectly, in both the testcases, and in actual Use. I would suggest, that instead of /dev/urandom, for Raspberry Pi's at least, to use /dev/hwrng, since the Pi has a good Hardware random number generator. |
There is a HID gadget driver on Linux which provides emulation of USB HID devices. This could be very useful for testing the Solo firmware without actual hardware, using only a Linux box. This patch adds a command line argument which specifies whether the existing UDP backing should be used or the new one which reads and writes to /dev/hidg0. Testing done: 1. Created HID device with configfs 2. Started "./main -b hidg" as root 3. Successfully executed Webauthn registration and authentication on the same Linux machine Closes: solokeys#122
I wonder if anyone is interested into using an emulated HID device on Linux which is acting as FIDO2 authenticator. This can be done with the HID gadget driver and could be very useful for doing tests without real hardware. Instead of patching libraries to send HID messages over UDP, one can create a HID device and then read/write to
/dev/hidg0
. I had to patch onlypc/device.c
and it works like a charm.If anyone is interested into something like this, I may start working on a PR.
The text was updated successfully, but these errors were encountered: