Rp2040 commissioned as Yubikey 5A not recognized in KeePassXC #97

Closed
opened 2025-01-25 05:46:13 +08:00 by pmnlla · 16 comments
pmnlla commented 2025-01-25 05:46:13 +08:00 (Migrated from github.com)

wwwwwwwwwwHello!

In Yubikey Manager (win32), the key is not recognized upon launch, and when replugged, I get the following error:

Image

In Yubico Authenticator, on Windows, it appears as such:

Image

Yubico Authenticator on NixOS does not give me these issues - it appears as a Yubikey 5A, and all functions work wonderfully. I'm assuming this is because of the reason discussed in #19, where Windows relies purely off of HID descriptors.

Regardless, on both platforms, KeepassXC does not recognize the key under the challenge response field. I get the same grey dropdown as in #19.

Update: I tried launching keypass with the key connected, as documented in #81. That worked well, but isn't a very desirable solution IMO. Good enough for my prototype-y needs, since I'm making a custom pcb for this, but isn't a workaround I recommend considering that, when I replugged the key, it was no longer detected, unlike in 81.

wwwwwwwwwwHello! In Yubikey Manager (win32), the key is not recognized upon launch, and when replugged, I get the following error: ![Image](https://github.com/user-attachments/assets/76cfa89d-98aa-4031-a4da-7777ba145e7d) In Yubico Authenticator, on Windows, it appears as such: ![Image](https://github.com/user-attachments/assets/7ae71fe9-eef4-4c0e-a526-8771fd67ff06) Yubico Authenticator on NixOS does not give me these issues - it appears as a Yubikey 5A, and all functions work wonderfully. I'm assuming this is because of the reason discussed in #19, where Windows relies purely off of HID descriptors. Regardless, on both platforms, KeepassXC does not recognize the key under the challenge response field. I get the same grey dropdown as in #19. Update: I tried launching keypass with the key connected, as documented in #81. That worked well, but isn't a very desirable solution IMO. Good enough for my prototype-y needs, since I'm making a custom pcb for this, but isn't a workaround I recommend considering that, when I replugged the key, it was no longer detected, unlike in 81.
pmnlla commented 2025-01-25 05:48:21 +08:00 (Migrated from github.com)

Also worth noting - I'm on my last unit that I use personally, and really dislike testing on. I have 2 RP2040s that appear to load the firmware, and then are not recognized by the OS, and I'm still prompted to plug in a key when they're connected.

Update to this: I ended up using flash_nuke.u2f, and that brought the boards back to life! Probably an issue with commissioning. Commissioning happens pretty early on in a pico-fido key's lifespan, so it's what I recommend if you encounter this issue - just nuke it and start over.

Also worth noting - I'm on my last unit that I use personally, and really dislike testing on. I have 2 RP2040s that appear to load the firmware, and then are not recognized by the OS, and I'm still prompted to plug in a key when they're connected. Update to this: I ended up using flash_nuke.u2f, and that brought the boards back to life! Probably an issue with commissioning. Commissioning happens pretty early on in a pico-fido key's lifespan, so it's what I recommend if you encounter this issue - just nuke it and start over.
polhenarejos commented 2025-01-25 17:04:58 +08:00 (Migrated from github.com)

I’m not sure follow this issue.

Can you put step by step to reproduce it?

I’m not sure follow this issue. Can you put step by step to reproduce it?
lijicheng168 commented 2025-01-27 08:33:35 +08:00 (Migrated from github.com)

I’m not sure follow this issue.

Can you put step by step to reproduce it?

I have the same issue. Upgrade should use flash_nuke.u2f to remove the old data.

> I’m not sure follow this issue. > > Can you put step by step to reproduce it? I have the same issue. Upgrade should use flash_nuke.u2f to remove the old data.
pmnlla commented 2025-01-27 21:45:14 +08:00 (Migrated from github.com)

Yes.

For one, flash an RP2040 with flash_nuke and then it's associated pico-fido image.

Commission it as a yubikey - any model.

Open yubico authenticator, and the issue or 2 keys present, both being inaccessible, presents itself.

If you open keepaasxc with the key disconnected, it won't recognize the key when it's plugged in. If you open it when the key is plugged in, it'll recognize the key.

Yes. For one, flash an RP2040 with flash_nuke and then it's associated pico-fido image. Commission it as a yubikey - any model. Open yubico authenticator, and the issue or 2 keys present, both being inaccessible, presents itself. If you open keepaasxc with the key disconnected, it won't recognize the key when it's plugged in. If you open it when the key **is** plugged in, it'll recognize the key.
metabo7000 commented 2025-01-28 22:44:44 +08:00 (Migrated from github.com)

Yes.

For one, flash an RP2040 with flash_nuke and then it's associated pico-fido image.

Commission it as a yubikey - any model.

Open yubico authenticator, and the issue or 2 keys present, both being inaccessible, presents itself.

If you open keepaasxc with the key disconnected, it won't recognize the key when it's plugged in. If you open it when the key is plugged in, it'll recognize the key.

return to v5.8! 6.0 and 6.2 useless waste of time windows YubiKey Personalization Tool, Yubico Authenticator users can't see it! Developer is killing windows environment!

> Yes. > > For one, flash an RP2040 with flash_nuke and then it's associated pico-fido image. > > Commission it as a yubikey - any model. > > Open yubico authenticator, and the issue or 2 keys present, both being inaccessible, presents itself. > > If you open keepaasxc with the key disconnected, it won't recognize the key when it's plugged in. If you open it when the key **is** plugged in, it'll recognize the key. return to v5.8! 6.0 and 6.2 useless waste of time windows YubiKey Personalization Tool, Yubico Authenticator users can't see it! Developer is killing windows environment!
RadiatedExodus commented 2025-01-29 15:26:36 +08:00 (Migrated from github.com)

Hello,
It looks like I have the same problem, I've tried using flash_nuke and then reflashing with pico-fido 6.2 from releases and my own custom build, however the Yubikey Manager fails to connect to the device and KeePassXC does not detect the device.

Though it looks like you're on NixOS and I'm on Windows, I wonder if there's anything else I'm missing here? WebAuthn (with Discord, Google, and Authentik) seems to work just fine

Image

Image

Image

Image

Hello, It looks like I have the same problem, I've tried using ``flash_nuke`` and then reflashing with pico-fido 6.2 from releases and my own custom build, however the Yubikey Manager fails to connect to the device and KeePassXC does not detect the device. Though it looks like you're on NixOS and I'm on Windows, I wonder if there's anything else I'm missing here? WebAuthn (with Discord, Google, and Authentik) seems to work just fine ![Image](https://github.com/user-attachments/assets/f674333d-9121-469f-b031-ecfa9d8a1f08) ![Image](https://github.com/user-attachments/assets/ea6f0727-c78b-4f97-b301-db346afe296d) ![Image](https://github.com/user-attachments/assets/492ff6d3-13ba-4b7f-8dd6-1a5ee0d0f49c) ![Image](https://github.com/user-attachments/assets/693cbc05-01d4-4d1c-98da-8ea078ad4fc0)
metabo7000 commented 2025-01-29 17:34:09 +08:00 (Migrated from github.com)

Hello, It looks like I have the same problem, I've tried using flash_nuke and then reflashing with pico-fido 6.2 from releases and my own custom build, however the Yubikey Manager fails to connect to the device and KeePassXC does not detect the device.

Though it looks like you're on NixOS and I'm on Windows, I wonder if there's anything else I'm missing here? WebAuthn (with Discord, Google, and Authentik) seems to work just fine

Image

Image

Image

Image

faul ubuntu 22.04 5.8 is unstable, lots of features are broken, see tons of complaints, user disputes are quickly closed!

video
https://drive.google.com/file/d/1G1CqVt1e0PlxTdu5dr03okD0DOP2tri5/view?usp=drive_link

> Hello, It looks like I have the same problem, I've tried using `flash_nuke` and then reflashing with pico-fido 6.2 from releases and my own custom build, however the Yubikey Manager fails to connect to the device and KeePassXC does not detect the device. > > Though it looks like you're on NixOS and I'm on Windows, I wonder if there's anything else I'm missing here? WebAuthn (with Discord, Google, and Authentik) seems to work just fine > > ![Image](https://github.com/user-attachments/assets/f674333d-9121-469f-b031-ecfa9d8a1f08) > > ![Image](https://github.com/user-attachments/assets/ea6f0727-c78b-4f97-b301-db346afe296d) > > ![Image](https://github.com/user-attachments/assets/492ff6d3-13ba-4b7f-8dd6-1a5ee0d0f49c) > > ![Image](https://github.com/user-attachments/assets/693cbc05-01d4-4d1c-98da-8ea078ad4fc0) faul ubuntu 22.04 5.8 is unstable, lots of features are broken, see tons of complaints, user disputes are quickly closed! video [https://drive.google.com/file/d/1G1CqVt1e0PlxTdu5dr03okD0DOP2tri5/view?usp=drive_link](url)
polhenarejos commented 2025-01-29 17:58:30 +08:00 (Migrated from github.com)

Try executing Yubikey Authenticator tool with administration permissions.

Try executing Yubikey Authenticator tool with administration permissions.
RadiatedExodus commented 2025-01-29 18:05:47 +08:00 (Migrated from github.com)

@polhenarejos Hello, yes it turns out it needed administrator permissions (I ended up using the ykman program directly), however 2 issues present itself:

  1. Running most of the ykman commands will warn about not being able to open the device (?): WARNING: Failed opening device
  2. OATH doesn't seem to work:
> ykman oath info
ERROR: Failed to connect to YubiKey.

It is listed as enabled in ykman info however:

Applications
Yubico OTP      Enabled
FIDO U2F        Enabled
FIDO2           Enabled
OATH            Enabled
PIV             Not available
OpenPGP         Not available
YubiHSM Auth    Not available

Edit: otp also doesn't work:

> ykman otp info
WARNING: Failed opening device
ERROR: Failed to connect to YubiKey.

I also still can't register the device in KeePassXC for challenge-response auth, it does not detect the device even with administrator permissions

@polhenarejos Hello, yes it turns out it needed administrator permissions (I ended up using the ``ykman`` program directly), however 2 issues present itself: 1. Running most of the ykman commands will warn about not being able to open the device (?): ``WARNING: Failed opening device`` 2. OATH doesn't seem to work: ``` > ykman oath info ERROR: Failed to connect to YubiKey. ``` It is listed as enabled in ``ykman info`` however: ``` Applications Yubico OTP Enabled FIDO U2F Enabled FIDO2 Enabled OATH Enabled PIV Not available OpenPGP Not available YubiHSM Auth Not available ``` Edit: otp also doesn't work: ``` > ykman otp info WARNING: Failed opening device ERROR: Failed to connect to YubiKey. ``` I also still can't register the device in KeePassXC for challenge-response auth, it does not detect the device even with administrator permissions
metabo7000 commented 2025-01-29 18:10:36 +08:00 (Migrated from github.com)

Try executing Yubikey Authenticator tool with administration permissions.

No change in admin mode either! Linux and Windows OS!

> Try executing Yubikey Authenticator tool with administration permissions. No change in admin mode either! Linux and Windows OS!
polhenarejos commented 2025-01-29 18:31:33 +08:00 (Migrated from github.com)

What ykman -l TRAFFIC otp info returns?

What `ykman -l TRAFFIC otp info` returns?
RadiatedExodus commented 2025-01-29 18:37:16 +08:00 (Migrated from github.com)
INFO 17:36:26.341 [ykman.logging.set_log_level:60] Logging at level: TRAFFIC
WARNING 17:36:26.342 [ykman.logging.set_log_level:62]
###################################################################################
#                                                                                 #
# WARNING: All data sent to/from the YubiKey will be logged!                      #
# This data may contain sensitive values, such as secret keys, PINs or passwords! #
#                                                                                 #
###################################################################################
INFO 17:36:26.342 [ykman._cli.__main__.cli:355] System info:
  ykman:            5.5.1
  Python:           3.11.9 (tags/v3.11.9:de54cf5, Apr  2 2024, 10:12:12) [MSC v.1938 64 bit (AMD64)]
  Platform:         win32
  Arch:             AMD64
  System date:      2025-01-29
  Running as admin: True
  Windows version:  (10, 0, 26100)

DEBUG 17:36:26.356 [ykman.device.add:165] Add device for <class 'yubikit.core.otp.OtpConnection'>: OtpYubiKeyDevice(pid=0407, fingerprint=b'\\\\?\\hid#vid_1050&pid_0407&mi_01#8&1213c93&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\\kbd')
DEBUG 17:36:26.356 [yubikit.support.read_info:264] Attempting to read device info, using WinHidOtpConnection
WARNING 17:36:26.357 [ykman.device.add:179] Failed opening device
Traceback (most recent call last):
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\device.py", line 172, in add
    info = read_info(conn, dev.pid)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\yubikit\support.py", line 286, in read_info
    info = _read_info_otp(conn, key_type, interfaces)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\yubikit\support.py", line 159, in _read_info_otp
    mgmt = ManagementSession(conn)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\yubikit\management.py", line 549, in __init__
    self.backend: _Backend = _ManagementOtpBackend(connection)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\yubikit\management.py", line 426, in __init__
    self.protocol = OtpProtocol(otp_connection)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\yubikit\core\otp.py", line 130, in __init__
    report = self._receive()
             ^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\yubikit\core\otp.py", line 176, in _receive
    report = self.connection.receive()
             ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\hid\windows.py", line 212, in receive
    raise WinError()
OSError: [WinError 1] Incorrect function.
ERROR 17:36:26.369 [ykman._cli.__main__.main:635] Failed to connect to YubiKey.
Traceback (most recent call last):
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\__main__.py", line 619, in main
    cli(obj={})
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\core.py", line 1161, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\core.py", line 1082, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\core.py", line 1697, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\core.py", line 1697, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\core.py", line 1443, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\core.py", line 788, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\otp.py", line 230, in info
    session = _get_session(ctx)
              ^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\otp.py", line 199, in _get_session
    dev = ctx.obj["device"]
          ~~~~~~~^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\util.py", line 219, in __getitem__
    self.resolve()
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\util.py", line 216, in resolve
    self._objects[k] = f()
                       ^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\__main__.py", line 395, in <lambda>
    ctx.obj.add_resolver("device", lambda: resolve()[0])
                                           ^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\__main__.py", line 391, in resolve
    items = require_device(connections, device)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\__main__.py", line 194, in require_device
    raise CliFail("Failed to connect to YubiKey.")
ykman._cli.util.CliFail: Failed to connect to YubiKey.
``` INFO 17:36:26.341 [ykman.logging.set_log_level:60] Logging at level: TRAFFIC WARNING 17:36:26.342 [ykman.logging.set_log_level:62] ################################################################################### # # # WARNING: All data sent to/from the YubiKey will be logged! # # This data may contain sensitive values, such as secret keys, PINs or passwords! # # # ################################################################################### INFO 17:36:26.342 [ykman._cli.__main__.cli:355] System info: ykman: 5.5.1 Python: 3.11.9 (tags/v3.11.9:de54cf5, Apr 2 2024, 10:12:12) [MSC v.1938 64 bit (AMD64)] Platform: win32 Arch: AMD64 System date: 2025-01-29 Running as admin: True Windows version: (10, 0, 26100) DEBUG 17:36:26.356 [ykman.device.add:165] Add device for <class 'yubikit.core.otp.OtpConnection'>: OtpYubiKeyDevice(pid=0407, fingerprint=b'\\\\?\\hid#vid_1050&pid_0407&mi_01#8&1213c93&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\\kbd') DEBUG 17:36:26.356 [yubikit.support.read_info:264] Attempting to read device info, using WinHidOtpConnection WARNING 17:36:26.357 [ykman.device.add:179] Failed opening device Traceback (most recent call last): File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\device.py", line 172, in add info = read_info(conn, dev.pid) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\yubikit\support.py", line 286, in read_info info = _read_info_otp(conn, key_type, interfaces) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\yubikit\support.py", line 159, in _read_info_otp mgmt = ManagementSession(conn) ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\yubikit\management.py", line 549, in __init__ self.backend: _Backend = _ManagementOtpBackend(connection) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\yubikit\management.py", line 426, in __init__ self.protocol = OtpProtocol(otp_connection) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\yubikit\core\otp.py", line 130, in __init__ report = self._receive() ^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\yubikit\core\otp.py", line 176, in _receive report = self.connection.receive() ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\hid\windows.py", line 212, in receive raise WinError() OSError: [WinError 1] Incorrect function. ERROR 17:36:26.369 [ykman._cli.__main__.main:635] Failed to connect to YubiKey. Traceback (most recent call last): File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\__main__.py", line 619, in main cli(obj={}) File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\core.py", line 1161, in __call__ return self.main(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\core.py", line 1082, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\core.py", line 1697, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\core.py", line 1697, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\core.py", line 1443, in invoke return ctx.invoke(self.callback, **ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\core.py", line 788, in invoke return __callback(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\click\decorators.py", line 33, in new_func return f(get_current_context(), *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\otp.py", line 230, in info session = _get_session(ctx) ^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\otp.py", line 199, in _get_session dev = ctx.obj["device"] ~~~~~~~^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\util.py", line 219, in __getitem__ self.resolve() File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\util.py", line 216, in resolve self._objects[k] = f() ^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\__main__.py", line 395, in <lambda> ctx.obj.add_resolver("device", lambda: resolve()[0]) ^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\__main__.py", line 391, in resolve items = require_device(connections, device) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\RadiatedExodus\.pyenv\pyenv-win\versions\3.11.9\Lib\site-packages\ykman\_cli\__main__.py", line 194, in require_device raise CliFail("Failed to connect to YubiKey.") ykman._cli.util.CliFail: Failed to connect to YubiKey. ```
metabo7000 commented 2025-01-29 20:04:07 +08:00 (Migrated from github.com)

What ykman -l TRAFFIC otp info returns?

`
host@host-virtual-machine:~$ ykman -l TRAFFIC otp info
INFO 17:00:11.961 [ykman.logging.set_log_level:60] Logging at level: TRAFFIC
WARNING 17:00:11.961 [ykman.logging.set_log_level:62]
###################################################################################

WARNING: All data sent to/from the YubiKey will be logged!

This data may contain sensitive values, such as secret keys, PINs or passwords!

###################################################################################
INFO 17:00:11.961 [ykman._cli.main.cli:355] System info:
ykman: 5.5.1
Python: 3.10.12 (main, Jul 29 2024, 16:56:48) [GCC 11.4.0]
Platform: linux
Arch: x86_64
System date: 2025-01-29
Running as admin: False

DEBUG 17:00:12.972 [ykman.hid.linux.list_devices:123] Couldn't read HID descriptor for /dev/hidraw0
Traceback (most recent call last):
File "/opt/venvs/yubikey-manager/lib/python3.10/site-packages/ykman/hid/linux.py", line 115, in list_devices
with open(hidraw, "rb") as f:
PermissionError: [Errno 13] Permission denied: '/dev/hidraw0'
DEBUG 17:00:13.28 [fido2.hid.linux.list_descriptors:103] Failed opening device /dev/hidraw0
Traceback (most recent call last):
File "/opt/venvs/yubikey-manager/lib/python3.10/site-packages/fido2/hid/linux.py", line 98, in list_descriptors
devices.append(get_descriptor(hidraw))
File "/opt/venvs/yubikey-manager/lib/python3.10/site-packages/fido2/hid/linux.py", line 55, in get_descriptor
with open(path, "rb") as f:
PermissionError: [Errno 13] Permission denied: '/dev/hidraw0'
DEBUG 17:00:13.137 [ykman.device.add:165] Add device for <class 'yubikit.core.otp.OtpConnection'>: OtpYubiKeyDevice(pid=0407, fingerprint='/dev/hidraw2')
DEBUG 17:00:13.137 [yubikit.support.read_info:264] Attempting to read device info, using HidrawConnection
TRAFFIC 17:00:13.140 [ykman.hid.linux.receive:65] RECV: 00060200010e0000
DEBUG 17:00:13.140 [yubikit.management.init:558] Management session initialized for connection=HidrawConnection, version=6.2.0
DEBUG 17:00:13.140 [yubikit.management.read_device_info:586] Reading DeviceInfo page: 0
TRAFFIC 17:00:13.141 [yubikit.core.otp.send_and_receive:168] SEND: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000136b5b000000
TRAFFIC 17:00:13.150 [ykman.hid.linux.receive:65] RECV: 00060200010e0000
TRAFFIC 17:00:13.162 [ykman.hid.linux.receive:65] RECV: 00060200010e0000
TRAFFIC 17:00:13.162 [ykman.hid.linux.send:69] SEND: 0000000000000080
TRAFFIC 17:00:13.185 [ykman.hid.linux.receive:65] RECV: 00060200010e0000
TRAFFIC 17:00:13.185 [ykman.hid.linux.send:69] SEND: 00136b5b00000089
TRAFFIC 17:00:13.226 [ykman.hid.linux.receive:65] RECV: 1c01020223020440
TRAFFIC 17:00:13.241 [ykman.hid.linux.receive:65] RECV: e4b375bd04010141
TRAFFIC 17:00:13.256 [ykman.hid.linux.receive:65] RECV: 0503060200030242
TRAFFIC 17:00:13.271 [ykman.hid.linux.receive:65] RECV: 02230801800a0143
TRAFFIC 17:00:13.285 [ykman.hid.linux.receive:65] RECV: 00d0800000000044
TRAFFIC 17:00:13.300 [ykman.hid.linux.receive:65] RECV: 0000000000000040
TRAFFIC 17:00:13.300 [ykman.hid.linux.send:69] SEND: 00000000000000ff
TRAFFIC 17:00:13.304 [yubikit.core.otp.send_and_receive:172] RECV: 1c010202230204e4b375bd0401010503060200030202230801800a0100d08000000000
DEBUG 17:00:13.304 [yubikit.support.read_info:292] Read info: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=3836966333, version=Version(major=6, minor=2, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY.0: 0>, fips_approved=<CAPABILITY.0: 0>, pin_complexity=False, reset_blocked=<CAPABILITY.0: 0>, fps_version=None, stm_version=None)
DEBUG 17:00:13.305 [yubikit.support.read_info:351] Device info, after tweaks: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=3836966333, version=Version(major=6, minor=2, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY.0: 0>, fips_approved=<CAPABILITY.0: 0>, pin_complexity=False, reset_blocked=<CAPABILITY.0: 0>, fps_version=None, stm_version=None)
DEBUG 17:00:13.306 [ykman.device.add:176] Resolved device 3836966333
DEBUG 17:00:13.306 [ykman.device.add:165] Add device for <class 'yubikit.core.smartcard.SmartCardConnection'>: ScardYubiKeyDevice(pid=0407, fingerprint='Yubico YubiKey OTP+FIDO+CCID [Pico Key CCID OTP FIDO Interfac] (E4B375BDF5F00000) 00 00')
DEBUG 17:00:13.307 [ykman.device.add:165] Add device for <class 'yubikit.core.smartcard.SmartCardConnection'>: ScardYubiKeyDevice(pid=0407, fingerprint='Yubico YubiKey OTP+FIDO+CCID (E4B375BDF5F00000) 01 00')
DEBUG 17:00:13.309 [yubikit.support.read_info:264] Attempting to read device info, using ScardSmartCardConnection
DEBUG 17:00:13.310 [yubikit.core.smartcard.select:417] Selecting AID: a000000527471117
TRAFFIC 17:00:13.310 [ykman.pcsc.send_and_receive:121] SEND: 00a4040008a000000527471117
TRAFFIC 17:00:13.372 [ykman.pcsc.send_and_receive:123] RECV: 362e322e30 SW=9000
DEBUG 17:00:13.372 [yubikit.management.init:558] Management session initialized for connection=ScardSmartCardConnection, version=6.2.0
DEBUG 17:00:13.373 [yubikit.management.read_device_info:586] Reading DeviceInfo page: 0
TRAFFIC 17:00:13.373 [ykman.pcsc.send_and_receive:121] SEND: 001d0000000000
TRAFFIC 17:00:13.415 [ykman.pcsc.send_and_receive:123] RECV: 1c010202230204e4b375bd0401010503060200030202230801800a0100 SW=9000
DEBUG 17:00:13.415 [yubikit.support.read_info:292] Read info: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=3836966333, version=Version(major=6, minor=2, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY.0: 0>, fips_approved=<CAPABILITY.0: 0>, pin_complexity=False, reset_blocked=<CAPABILITY.0: 0>, fps_version=None, stm_version=None)
DEBUG 17:00:13.416 [yubikit.support.read_info:351] Device info, after tweaks: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=3836966333, version=Version(major=6, minor=2, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY.0: 0>, fips_approved=<CAPABILITY.0: 0>, pin_complexity=False, reset_blocked=<CAPABILITY.0: 0>, fps_version=None, stm_version=None)
DEBUG 17:00:13.440 [ykman.device.add:176] Resolved device 3836966333
TRAFFIC 17:00:13.449 [ykman.hid.linux.receive:65] RECV: 00060200010e0000
TRAFFIC 17:00:13.460 [ykman.hid.linux.receive:65] RECV: 00060200010e0000
DEBUG 17:00:13.461 [yubikit.yubiotp.init:752] YubiOTP session initialized for connection=HidrawConnection, version=6.2.0, state=ConfigState(configured: (False, True), touch_triggered: (True, True), led_inverted: False)
Slot 1: empty
Slot 2: programmed

`

> What `ykman -l TRAFFIC otp info` returns? ` host@host-virtual-machine:~$ ykman -l TRAFFIC otp info INFO 17:00:11.961 [ykman.logging.set_log_level:60] Logging at level: TRAFFIC WARNING 17:00:11.961 [ykman.logging.set_log_level:62] ################################################################################### # # # WARNING: All data sent to/from the YubiKey will be logged! # # This data may contain sensitive values, such as secret keys, PINs or passwords! # # # ################################################################################### INFO 17:00:11.961 [ykman._cli.__main__.cli:355] System info: ykman: 5.5.1 Python: 3.10.12 (main, Jul 29 2024, 16:56:48) [GCC 11.4.0] Platform: linux Arch: x86_64 System date: 2025-01-29 Running as admin: False DEBUG 17:00:12.972 [ykman.hid.linux.list_devices:123] Couldn't read HID descriptor for /dev/hidraw0 Traceback (most recent call last): File "/opt/venvs/yubikey-manager/lib/python3.10/site-packages/ykman/hid/linux.py", line 115, in list_devices with open(hidraw, "rb") as f: PermissionError: [Errno 13] Permission denied: '/dev/hidraw0' DEBUG 17:00:13.28 [fido2.hid.linux.list_descriptors:103] Failed opening device /dev/hidraw0 Traceback (most recent call last): File "/opt/venvs/yubikey-manager/lib/python3.10/site-packages/fido2/hid/linux.py", line 98, in list_descriptors devices.append(get_descriptor(hidraw)) File "/opt/venvs/yubikey-manager/lib/python3.10/site-packages/fido2/hid/linux.py", line 55, in get_descriptor with open(path, "rb") as f: PermissionError: [Errno 13] Permission denied: '/dev/hidraw0' DEBUG 17:00:13.137 [ykman.device.add:165] Add device for <class 'yubikit.core.otp.OtpConnection'>: OtpYubiKeyDevice(pid=0407, fingerprint='/dev/hidraw2') DEBUG 17:00:13.137 [yubikit.support.read_info:264] Attempting to read device info, using HidrawConnection TRAFFIC 17:00:13.140 [ykman.hid.linux.receive:65] RECV: 00060200010e0000 DEBUG 17:00:13.140 [yubikit.management.__init__:558] Management session initialized for connection=HidrawConnection, version=6.2.0 DEBUG 17:00:13.140 [yubikit.management.read_device_info:586] Reading DeviceInfo page: 0 TRAFFIC 17:00:13.141 [yubikit.core.otp.send_and_receive:168] SEND: 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000136b5b000000 TRAFFIC 17:00:13.150 [ykman.hid.linux.receive:65] RECV: 00060200010e0000 TRAFFIC 17:00:13.162 [ykman.hid.linux.receive:65] RECV: 00060200010e0000 TRAFFIC 17:00:13.162 [ykman.hid.linux.send:69] SEND: 0000000000000080 TRAFFIC 17:00:13.185 [ykman.hid.linux.receive:65] RECV: 00060200010e0000 TRAFFIC 17:00:13.185 [ykman.hid.linux.send:69] SEND: 00136b5b00000089 TRAFFIC 17:00:13.226 [ykman.hid.linux.receive:65] RECV: 1c01020223020440 TRAFFIC 17:00:13.241 [ykman.hid.linux.receive:65] RECV: e4b375bd04010141 TRAFFIC 17:00:13.256 [ykman.hid.linux.receive:65] RECV: 0503060200030242 TRAFFIC 17:00:13.271 [ykman.hid.linux.receive:65] RECV: 02230801800a0143 TRAFFIC 17:00:13.285 [ykman.hid.linux.receive:65] RECV: 00d0800000000044 TRAFFIC 17:00:13.300 [ykman.hid.linux.receive:65] RECV: 0000000000000040 TRAFFIC 17:00:13.300 [ykman.hid.linux.send:69] SEND: 00000000000000ff TRAFFIC 17:00:13.304 [yubikit.core.otp.send_and_receive:172] RECV: 1c010202230204e4b375bd0401010503060200030202230801800a0100d08000000000 DEBUG 17:00:13.304 [yubikit.support.read_info:292] Read info: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=3836966333, version=Version(major=6, minor=2, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY.0: 0>, fips_approved=<CAPABILITY.0: 0>, pin_complexity=False, reset_blocked=<CAPABILITY.0: 0>, fps_version=None, stm_version=None) DEBUG 17:00:13.305 [yubikit.support.read_info:351] Device info, after tweaks: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=3836966333, version=Version(major=6, minor=2, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY.0: 0>, fips_approved=<CAPABILITY.0: 0>, pin_complexity=False, reset_blocked=<CAPABILITY.0: 0>, fps_version=None, stm_version=None) DEBUG 17:00:13.306 [ykman.device.add:176] Resolved device 3836966333 DEBUG 17:00:13.306 [ykman.device.add:165] Add device for <class 'yubikit.core.smartcard.SmartCardConnection'>: ScardYubiKeyDevice(pid=0407, fingerprint='Yubico YubiKey OTP+FIDO+CCID [Pico Key CCID OTP FIDO Interfac] (E4B375BDF5F00000) 00 00') DEBUG 17:00:13.307 [ykman.device.add:165] Add device for <class 'yubikit.core.smartcard.SmartCardConnection'>: ScardYubiKeyDevice(pid=0407, fingerprint='Yubico YubiKey OTP+FIDO+CCID (E4B375BDF5F00000) 01 00') DEBUG 17:00:13.309 [yubikit.support.read_info:264] Attempting to read device info, using ScardSmartCardConnection DEBUG 17:00:13.310 [yubikit.core.smartcard.select:417] Selecting AID: a000000527471117 TRAFFIC 17:00:13.310 [ykman.pcsc.send_and_receive:121] SEND: 00a4040008a000000527471117 TRAFFIC 17:00:13.372 [ykman.pcsc.send_and_receive:123] RECV: 362e322e30 SW=9000 DEBUG 17:00:13.372 [yubikit.management.__init__:558] Management session initialized for connection=ScardSmartCardConnection, version=6.2.0 DEBUG 17:00:13.373 [yubikit.management.read_device_info:586] Reading DeviceInfo page: 0 TRAFFIC 17:00:13.373 [ykman.pcsc.send_and_receive:121] SEND: 001d0000000000 TRAFFIC 17:00:13.415 [ykman.pcsc.send_and_receive:123] RECV: 1c010202230204e4b375bd0401010503060200030202230801800a0100 SW=9000 DEBUG 17:00:13.415 [yubikit.support.read_info:292] Read info: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=3836966333, version=Version(major=6, minor=2, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY.0: 0>, fips_approved=<CAPABILITY.0: 0>, pin_complexity=False, reset_blocked=<CAPABILITY.0: 0>, fps_version=None, stm_version=None) DEBUG 17:00:13.416 [yubikit.support.read_info:351] Device info, after tweaks: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=3836966333, version=Version(major=6, minor=2, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.FIDO2|OATH|U2F|OTP: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY.0: 0>, fips_approved=<CAPABILITY.0: 0>, pin_complexity=False, reset_blocked=<CAPABILITY.0: 0>, fps_version=None, stm_version=None) DEBUG 17:00:13.440 [ykman.device.add:176] Resolved device 3836966333 TRAFFIC 17:00:13.449 [ykman.hid.linux.receive:65] RECV: 00060200010e0000 TRAFFIC 17:00:13.460 [ykman.hid.linux.receive:65] RECV: 00060200010e0000 DEBUG 17:00:13.461 [yubikit.yubiotp.__init__:752] YubiOTP session initialized for connection=HidrawConnection, version=6.2.0, state=ConfigState(configured: (False, True), touch_triggered: (True, True), led_inverted: False) Slot 1: empty Slot 2: programmed `
polhenarejos commented 2025-01-29 20:26:15 +08:00 (Migrated from github.com)

There was a problem with the USB descriptor of keyboard interface in Windows that is fixed. I tested it with Windows 11, with Yubikey Authenticator and KeypassXC.
In Yubikey Authenticator, Accounts sections only works if previously you commission the device with yubico yubikey as product name.

There was a problem with the USB descriptor of keyboard interface in Windows that is fixed. I tested it with Windows 11, with Yubikey Authenticator and KeypassXC. In Yubikey Authenticator, Accounts sections only works if previously you commission the device with `yubico yubikey` as product name.
RadiatedExodus commented 2025-01-29 20:36:36 +08:00 (Migrated from github.com)

I can confirm that everything works correctly, thanks!

> ykman info && ykman fido info && ykman oath info && ykman otp info
Device type: YubiKey 5A
Serial number: <serial number here>
Firmware version: 6.2.0
Form factor: Keychain (USB-A)
Enabled USB interfaces: OTP, FIDO, CCID

Applications
Yubico OTP      Enabled
FIDO U2F        Enabled
FIDO2           Enabled
OATH            Enabled
PIV             Not available
OpenPGP         Not available
YubiHSM Auth    Not available
PIN:                    8 attempt(s) remaining
Minimum PIN length:     4
Enterprise Attestation: Disabled
OATH version:        6.2.0
Password protection: disabled
Slot 1: empty
Slot 2: empty
I can confirm that everything works correctly, thanks! ``` > ykman info && ykman fido info && ykman oath info && ykman otp info Device type: YubiKey 5A Serial number: <serial number here> Firmware version: 6.2.0 Form factor: Keychain (USB-A) Enabled USB interfaces: OTP, FIDO, CCID Applications Yubico OTP Enabled FIDO U2F Enabled FIDO2 Enabled OATH Enabled PIV Not available OpenPGP Not available YubiHSM Auth Not available PIN: 8 attempt(s) remaining Minimum PIN length: 4 Enterprise Attestation: Disabled OATH version: 6.2.0 Password protection: disabled Slot 1: empty Slot 2: empty ```
RadiatedExodus commented 2025-01-29 20:43:57 +08:00 (Migrated from github.com)

Notably however, KeePassXC still does not display the device (even with administrator perms) as a compatible challenge-response device however, but that's the remaining issue. ykman seems to display correctly and I've confirmed WebAuthn works so far

Notably however, KeePassXC still does not display the device (even with administrator perms) as a compatible challenge-response device however, but that's the remaining issue. ``ykman`` seems to display correctly and I've confirmed WebAuthn works so far
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dearsky/pico-fido#97