Can't delete credentials using ykman or Yubico Authenticator #206

Closed
opened 2025-11-30 22:46:36 +08:00 by dasdwe · 4 comments
dasdwe commented 2025-11-30 22:46:36 +08:00 (Migrated from github.com)

Hey, I have few useless passkeys on my pico (pico_fido_waveshare_rp2350_one [nightly 23.11.2025]) but when I try to delete them using Yubico Authenticator it doesn't do anything. With ykman I got this:

C:\>ykman fido credentials delete f3a1ceebf1d002030000fc628a2427ef8af42485bc363ddb5c4d32ba2b7f0cd52bf51e47f79ac43d56d1
Enter your PIN:
Delete www.passkeys.io hnc62539@laoia.com hnc62539@laoia.com (f3a1ceebf1d002030000fc628a2427ef8af42485bc363ddb5c4d32ba2b7f0cd52bf51e47f79ac43d56d1)? [y/N]: y
Deleting credential, DO NOT REMOVE YOUR YUBIKEY!
ERROR: Failed to delete credential.

C:\>

Debug log:

INFO 14:46:01.775 [ykman.logging.set_log_level:60] Logging at level: DEBUG
WARNING 14:46:01.775 [ykman.logging.set_log_level:64] 
#############################################################################
#                                                                           #
# WARNING: Sensitive data may be logged!                                    #
# Some personally identifying information may be logged, such as usernames! #
#                                                                           #
#############################################################################
WARNING 14:46:01.776 [ykman.logging.init_logging:89] Logging to file: ykman-debug.txt
INFO 14:46:01.777 [ykman._cli.__main__.cli:368] System info:
  ykman:            5.8.0
  Python:           3.13.7 (tags/v3.13.7:bcee1c3, Aug 14 2025, 14:15:11) [MSC v.1944 64 bit (AMD64)]
  Platform:         win32
  Arch:             AMD64
  System date:      2025-11-30
  Running as admin: True
  Windows version:  (10, 0, 26200)

DEBUG 14:46:01.784 [ykman.device.add:159] Add device for <class 'fido2.ctap.CtapDevice'>: CtapYubiKeyDevice(pid=0407, fingerprint=b'\\\\?\\hid#vid_1050&pid_0407&mi_00#7&2f35f1d5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}')
DEBUG 14:46:01.889 [yubikit.support.read_info:250] Attempting to read device info, using CtapHidDevice
DEBUG 14:46:01.890 [yubikit.management.__init__:621] Management session initialized for connection=CtapHidDevice, version=6.6.0
DEBUG 14:46:01.890 [yubikit.management._do_read_device_info:652] Reading DeviceInfo page: 0
DEBUG 14:46:01.905 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:01.913 [yubikit.support.read_info:278] Read info: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH|PIV|OPENPGP: 571>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=27566059, version=Version(major=6, minor=6, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY: 0>, fips_approved=<CAPABILITY: 0>, pin_complexity=False, reset_blocked=<CAPABILITY: 0>, fps_version=None, stm_version=None, version_qualifier=VersionQualifier(version=Version(major=6, minor=6, patch=0), type=<RELEASE_TYPE.FINAL: 2>, iteration=0))
DEBUG 14:46:01.914 [yubikit.support.read_info:336] Device info, after tweaks: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH|PIV|OPENPGP: 571>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=27566059, version=Version(major=6, minor=6, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY: 0>, fips_approved=<CAPABILITY: 0>, pin_complexity=False, reset_blocked=<CAPABILITY: 0>, fps_version=None, stm_version=None, version_qualifier=VersionQualifier(version=Version(major=6, minor=6, patch=0), type=<RELEASE_TYPE.FINAL: 2>, iteration=0))
DEBUG 14:46:01.914 [ykman.device.add:170] Resolved device 27566059
DEBUG 14:46:01.915 [ykman.device.add:159] Add device for <class 'yubikit.core.smartcard.SmartCardConnection'>: ScardYubiKeyDevice(pid=0407, fingerprint='Pol Henarejos Yubico Yubikey CCID OTP FIDO In 0')
DEBUG 14:46:02.42 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:02.91 [ykman._cli.util.click_prompt:259] Input requested (Enter your PIN)
DEBUG 14:46:02.91 [ykman._cli.util.click_prompt:268] Using interactive prompt...
DEBUG 14:46:04.345 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:04.393 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:04.585 [fido2.ctap2.pin.get_pin_token:324] Got PIN token for permissions: 4
DEBUG 14:46:04.602 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:04.626 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:04.658 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:04.682 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:04.706 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:04.730 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:04.754 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:04.785 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:04.810 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:04.841 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:04.873 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:04.962 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:05.25 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:05.106 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:05.194 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:05.282 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:05.354 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:05.441 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:05.522 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:05.602 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:05.689 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:05.777 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:05.866 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:05.962 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:06.42 [fido2.hid._do_call:224] Got keepalive status: 01
DEBUG 14:46:07.852 [fido2.ctap2.credman.delete_cred:228] Deleting credential with ID: PublicKeyCredentialDescriptor(type=<PublicKeyCredentialType.PUBLIC_KEY: 'public-key'>, id=b"\xf3\xa1\xce\xeb\xf1\xd0\x02\x03\x00\x00\xfcb\x8a$'\xef\x8a\xf4$\x85\xbc6=\xdb\\M2\xba+\x7f\x0c\xd5+\xf5\x1eG\xf7\x9a\xc4=V\xd1", transports=None)
DEBUG 14:46:07.873 [fido2.hid._do_call:224] Got keepalive status: 01
ERROR 14:46:07.881 [ykman._cli.__main__.main:660] Failed to delete credential.
Traceback (most recent call last):
  File "ykman\_cli\fido.py", line 764, in creds_delete
  File "fido2\ctap2\credman.py", line 229, in delete_cred
  File "fido2\ctap2\credman.py", line 127, in _call
  File "fido2\ctap2\base.py", line 508, in credential_mgmt
  File "fido2\ctap2\base.py", line 273, in send_cbor
fido2.ctap.CtapError: CTAP error: 0x2E - NO_CREDENTIALS

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "ykman\_cli\__main__.py", line 644, in main
  File "click\core.py", line 1442, in __call__
  File "click\core.py", line 1363, in main
  File "click\core.py", line 1830, in invoke
  File "click\core.py", line 1830, in invoke
  File "click\core.py", line 1830, in invoke
  File "click\core.py", line 1226, in invoke
  File "click\core.py", line 794, in invoke
  File "click\decorators.py", line 34, in new_func
  File "ykman\_cli\fido.py", line 767, in creds_delete
ykman._cli.util.CliFail: Failed to delete credential.

Yubico Authenticator produces similar debug log.

13:39:22.166 [settings] INFO: Running diagnostics...
13:40:54.510 [helper.ykman.logging] INFO: Logging at level: DEBUG
13:40:54.510 [helper.ykman.logging] WARNING: 
#############################################################################
#                                                                           #
# WARNING: Sensitive data may be logged!                                    #
# Some personally identifying information may be logged, such as usernames! #
#                                                                           #
#############################################################################
13:40:54.510 [helper.helper.device] INFO: Log level set to: DEBUG
13:40:59.027 [helper.yubikit.support] CONFIG: Attempting to read device info, using CtapHidDevice
13:40:59.027 [helper.yubikit.management] CONFIG: Management session initialized for connection=CtapHidDevice, version=6.6.0
13:40:59.027 [helper.yubikit.management] CONFIG: Reading DeviceInfo page: 0
13:40:59.043 [helper.fido2.hid] CONFIG: Got keepalive status: 01
13:40:59.051 [helper.yubikit.support] CONFIG: Read info: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH|PIV|OPENPGP: 571>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=27566059, version=Version(major=6, minor=6, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY: 0>, fips_approved=<CAPABILITY: 0>, pin_complexity=False, reset_blocked=<CAPABILITY: 0>, fps_version=None, stm_version=None, version_qualifier=VersionQualifier(version=Version(major=6, minor=6, patch=0), type=<RELEASE_TYPE.FINAL: 2>, iteration=0))
13:40:59.051 [helper.yubikit.support] CONFIG: Device info, after tweaks: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH|PIV|OPENPGP: 571>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=27566059, version=Version(major=6, minor=6, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY: 0>, fips_approved=<CAPABILITY: 0>, pin_complexity=False, reset_blocked=<CAPABILITY: 0>, fps_version=None, stm_version=None, version_qualifier=VersionQualifier(version=Version(major=6, minor=6, patch=0), type=<RELEASE_TYPE.FINAL: 2>, iteration=0))
13:40:59.051 [helper.ykman.device] CONFIG: Resolved device 27566059
13:40:59.051 [helper.helper.base] CONFIG: created child: fido
13:40:59.068 [helper.fido2.hid] CONFIG: Got keepalive status: 01
13:40:59.116 [helper.helper.base] CONFIG: created child: ctap2
13:40:59.131 [helper.fido2.hid] CONFIG: Got keepalive status: 01
13:40:59.179 [helper.helper.fido] CONFIG: Info: Info(versions=['U2F_V2', 'FIDO_2_0', 'FIDO_2_1', 'FIDO_2_2'], extensions=['credBlob', 'credProtect', 'hmac-secret', 'largeBlobKey', 'minPinLength', 'hmac-secret-mc', 'thirdPartyPayment'], aaguid=AAGUID(89fb94b7-06c9-3673-9b7e-30526d968145), options={'ep': False, 'rk': True, 'alwaysUv': False, 'credMgmt': True, 'authnrCfg': True, 'clientPin': True, 'largeBlobs': True, 'pinUvAuthToken': True, 'setMinPINLength': True}, max_msg_size=1024, pin_uv_protocols=[1, 2], max_creds_in_list=16, max_cred_id_length=1024, transports=[], algorithms=[{'alg': -7, 'type': 'public-key'}, {'alg': -35, 'type': 'public-key'}, {'alg': -36, 'type': 'public-key'}], max_large_blob=2048, force_pin_change=False, min_pin_length=4, firmware_version=1542, max_cred_blob_length=128, max_rpids_for_min_pin=0, preferred_platform_uv_attempts=0, uv_modality=0, certifications={}, remaining_disc_creds=None, vendor_prototype_config_commands=[], attestation_formats=['packed'], uv_count_since_pin=None, long_touch_for_reset=False, enc_identifier=None, transports_for_reset=[], pin_complexity_policy=None, pin_complexity_policy_url=None, max_pin_length=63)
13:40:59.195 [helper.fido2.hid] CONFIG: Got keepalive status: 01
13:40:59.203 [desktop.fido.state] DEBUG: Using transport UsbInterface.fido for CTAP
13:40:59.219 [helper.fido2.hid] CONFIG: Got keepalive status: 01
13:40:59.267 [helper.helper.fido] CONFIG: Info: Info(versions=['U2F_V2', 'FIDO_2_0', 'FIDO_2_1', 'FIDO_2_2'], extensions=['credBlob', 'credProtect', 'hmac-secret', 'largeBlobKey', 'minPinLength', 'hmac-secret-mc', 'thirdPartyPayment'], aaguid=AAGUID(89fb94b7-06c9-3673-9b7e-30526d968145), options={'ep': False, 'rk': True, 'alwaysUv': False, 'credMgmt': True, 'authnrCfg': True, 'clientPin': True, 'largeBlobs': True, 'pinUvAuthToken': True, 'setMinPINLength': True}, max_msg_size=1024, pin_uv_protocols=[1, 2], max_creds_in_list=16, max_cred_id_length=1024, transports=[], algorithms=[{'alg': -7, 'type': 'public-key'}, {'alg': -35, 'type': 'public-key'}, {'alg': -36, 'type': 'public-key'}], max_large_blob=2048, force_pin_change=False, min_pin_length=4, firmware_version=1542, max_cred_blob_length=128, max_rpids_for_min_pin=0, preferred_platform_uv_attempts=0, uv_modality=0, certifications={}, remaining_disc_creds=None, vendor_prototype_config_commands=[], attestation_formats=['packed'], uv_count_since_pin=None, long_touch_for_reset=False, enc_identifier=None, transports_for_reset=[], pin_complexity_policy=None, pin_complexity_policy_url=None, max_pin_length=63)
13:40:59.283 [helper.fido2.hid] CONFIG: Got keepalive status: 01
13:40:59.307 [helper.fido2.hid] CONFIG: Got keepalive status: 01
13:40:59.355 [helper.fido2.hid] CONFIG: Got keepalive status: 01
13:40:59.547 [helper.fido2.ctap2.pin] CONFIG: Got PIN token for permissions: 36
13:40:59.563 [helper.fido2.hid] CONFIG: Got keepalive status: 01
13:40:59.612 [helper.helper.fido] CONFIG: Info: Info(versions=['U2F_V2', 'FIDO_2_0', 'FIDO_2_1', 'FIDO_2_2'], extensions=['credBlob', 'credProtect', 'hmac-secret', 'largeBlobKey', 'minPinLength', 'hmac-secret-mc', 'thirdPartyPayment'], aaguid=AAGUID(89fb94b7-06c9-3673-9b7e-30526d968145), options={'ep': False, 'rk': True, 'alwaysUv': False, 'credMgmt': True, 'authnrCfg': True, 'clientPin': True, 'largeBlobs': True, 'pinUvAuthToken': True, 'setMinPINLength': True}, max_msg_size=1024, pin_uv_protocols=[1, 2], max_creds_in_list=16, max_cred_id_length=1024, transports=[], algorithms=[{'alg': -7, 'type': 'public-key'}, {'alg': -35, 'type': 'public-key'}, {'alg': -36, 'type': 'public-key'}], max_large_blob=2048, force_pin_change=False, min_pin_length=4, firmware_version=1542, max_cred_blob_length=128, max_rpids_for_min_pin=0, preferred_platform_uv_attempts=0, uv_modality=0, certifications={}, remaining_disc_creds=None, vendor_prototype_config_commands=[], attestation_formats=['packed'], uv_count_since_pin=None, long_touch_for_reset=False, enc_identifier=None, transports_for_reset=[], pin_complexity_policy=None, pin_complexity_policy_url=None, max_pin_length=63)
13:40:59.627 [helper.fido2.hid] CONFIG: Got keepalive status: 01
13:40:59.635 [desktop.fido.state] DEBUG: application status
{"info":{"versions":["U2F_V2","FIDO_2_0","FIDO_2_1","FIDO_2_2"],"extensions":["credBlob","credProtect","hmac-secret","largeBlobKey","minPinLength","hmac-secret-mc","thirdPartyPayment"],"aaguid":"89fb94b706c936739b7e30526d968145","options":{"ep":false,"rk":true,"alwaysUv":false,"credMgmt":true,"authnrCfg":true,"clientPin":true,"largeBlobs":true,"pinUvAuthToken":true,"setMinPINLength":true},"max_msg_size":1024,"pin_uv_protocols":[1,2],"max_creds_in_list":16,"max_cred_id_length":1024,"transports":[],"algorithms":[{"alg":-7,"type":"public-key"},{"alg":-35,"type":"public-key"},{"alg":-36,"type":"public-key"}],"max_large_blob":2048,"force_pin_change":false,"min_pin_length":4,"firmware_version":1542,"max_cred_blob_length":128,"max_rpids_for_min_pin":0,"preferred_platform_uv_attempts":0,"uv_modality":0,"certifications":{},"remaining_disc_creds":null,"vendor_prototype_config_commands":[],"attestation_formats":["packed"],"uv_count_since_pin":null,"long_touch_for_reset":false,"enc_identifier":null,"transports_for_reset":[],"pin_complexity_policy":null,"pin_complexity_policy_url":null,"max_pin_length":63},"unlocked":true,"unlocked_read":true,"pin_retries":8}
...
13:40:59.914 [helper.helper.base] CONFIG: created child: credentials
13:40:59.939 [helper.fido2.hid] CONFIG: Got keepalive status: 01
13:41:00.563 [helper.helper.base] CONFIG: created child: www.passkeys.io
13:41:00.563 [helper.helper.base] CONFIG: close existing child: www.passkeys.io
13:41:00.563 [helper.helper.base] CONFIG: Closing node <helper.fido.CredentialsRpNode object at 0x000001F6655465D0>
...
13:41:11.171 [helper.fido2.hid] CONFIG: Got keepalive status: 01
13:41:11.227 [helper.helper.base] CONFIG: created child: www.passkeys.io
13:41:11.227 [helper.helper.base] CONFIG: created child: f3a1ceebf1d002030000fc628a2427ef8af42485bc363ddb5c4d32ba2b7f0cd52bf51e47f79ac43d56d1
13:41:11.227 [helper.fido2.ctap2.credman] CONFIG: Deleting credential with ID: PublicKeyCredentialDescriptor(type=<PublicKeyCredentialType.PUBLIC_KEY: 'public-key'>, id=b"\xf3\xa1\xce\xeb\xf1\xd0\x02\x03\x00\x00\xfcb\x8a$'\xef\x8a\xf4$\x85\xbc6=\xdb\\M2\xba+\x7f\x0c\xd5+\xf5\x1eG\xf7\x9a\xc4=V\xd1", transports=None)
13:41:11.251 [helper.fido2.hid] CONFIG: Got keepalive status: 01
13:41:11.260 [helper.helper] SEVERE: Unhandled exception
Traceback (most recent call last):
  File "helper\__init__.py", line 105, in process
  File "helper\device.py", line 106, in __call__
  File "helper\base.py", line 136, in __call__
  File "helper\device.py", line 218, in __call__
  File "helper\base.py", line 136, in __call__
  File "helper\device.py", line 290, in __call__
  File "helper\base.py", line 136, in __call__
  File "helper\device.py", line 522, in __call__
  File "helper\base.py", line 136, in __call__
  File "helper\fido.py", line 136, in __call__
  File "helper\base.py", line 136, in __call__
  File "helper\base.py", line 136, in __call__
  File "helper\base.py", line 136, in __call__
  File "helper\base.py", line 153, in __call__
  File "helper\fido.py", line 350, in delete
  File "fido2\ctap2\credman.py", line 229, in delete_cred
  File "fido2\ctap2\credman.py", line 127, in _call
  File "fido2\ctap2\base.py", line 508, in credential_mgmt
  File "fido2\ctap2\base.py", line 273, in send_cbor
fido2.ctap.CtapError: CTAP error: 0x2E - NO_CREDENTIALS
...
13:41:18.004 [settings] INFO: Copying log to clipboard (7.3.1)...
Hey, I have few useless passkeys on my pico (pico_fido_waveshare_rp2350_one [nightly 23.11.2025]) but when I try to delete them using Yubico Authenticator it doesn't do anything. With ykman I got this: ``` C:\>ykman fido credentials delete f3a1ceebf1d002030000fc628a2427ef8af42485bc363ddb5c4d32ba2b7f0cd52bf51e47f79ac43d56d1 Enter your PIN: Delete www.passkeys.io hnc62539@laoia.com hnc62539@laoia.com (f3a1ceebf1d002030000fc628a2427ef8af42485bc363ddb5c4d32ba2b7f0cd52bf51e47f79ac43d56d1)? [y/N]: y Deleting credential, DO NOT REMOVE YOUR YUBIKEY! ERROR: Failed to delete credential. C:\> ``` Debug log: ``` INFO 14:46:01.775 [ykman.logging.set_log_level:60] Logging at level: DEBUG WARNING 14:46:01.775 [ykman.logging.set_log_level:64] ############################################################################# # # # WARNING: Sensitive data may be logged! # # Some personally identifying information may be logged, such as usernames! # # # ############################################################################# WARNING 14:46:01.776 [ykman.logging.init_logging:89] Logging to file: ykman-debug.txt INFO 14:46:01.777 [ykman._cli.__main__.cli:368] System info: ykman: 5.8.0 Python: 3.13.7 (tags/v3.13.7:bcee1c3, Aug 14 2025, 14:15:11) [MSC v.1944 64 bit (AMD64)] Platform: win32 Arch: AMD64 System date: 2025-11-30 Running as admin: True Windows version: (10, 0, 26200) DEBUG 14:46:01.784 [ykman.device.add:159] Add device for <class 'fido2.ctap.CtapDevice'>: CtapYubiKeyDevice(pid=0407, fingerprint=b'\\\\?\\hid#vid_1050&pid_0407&mi_00#7&2f35f1d5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}') DEBUG 14:46:01.889 [yubikit.support.read_info:250] Attempting to read device info, using CtapHidDevice DEBUG 14:46:01.890 [yubikit.management.__init__:621] Management session initialized for connection=CtapHidDevice, version=6.6.0 DEBUG 14:46:01.890 [yubikit.management._do_read_device_info:652] Reading DeviceInfo page: 0 DEBUG 14:46:01.905 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:01.913 [yubikit.support.read_info:278] Read info: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH|PIV|OPENPGP: 571>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=27566059, version=Version(major=6, minor=6, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY: 0>, fips_approved=<CAPABILITY: 0>, pin_complexity=False, reset_blocked=<CAPABILITY: 0>, fps_version=None, stm_version=None, version_qualifier=VersionQualifier(version=Version(major=6, minor=6, patch=0), type=<RELEASE_TYPE.FINAL: 2>, iteration=0)) DEBUG 14:46:01.914 [yubikit.support.read_info:336] Device info, after tweaks: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH|PIV|OPENPGP: 571>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=27566059, version=Version(major=6, minor=6, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY: 0>, fips_approved=<CAPABILITY: 0>, pin_complexity=False, reset_blocked=<CAPABILITY: 0>, fps_version=None, stm_version=None, version_qualifier=VersionQualifier(version=Version(major=6, minor=6, patch=0), type=<RELEASE_TYPE.FINAL: 2>, iteration=0)) DEBUG 14:46:01.914 [ykman.device.add:170] Resolved device 27566059 DEBUG 14:46:01.915 [ykman.device.add:159] Add device for <class 'yubikit.core.smartcard.SmartCardConnection'>: ScardYubiKeyDevice(pid=0407, fingerprint='Pol Henarejos Yubico Yubikey CCID OTP FIDO In 0') DEBUG 14:46:02.42 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:02.91 [ykman._cli.util.click_prompt:259] Input requested (Enter your PIN) DEBUG 14:46:02.91 [ykman._cli.util.click_prompt:268] Using interactive prompt... DEBUG 14:46:04.345 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:04.393 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:04.585 [fido2.ctap2.pin.get_pin_token:324] Got PIN token for permissions: 4 DEBUG 14:46:04.602 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:04.626 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:04.658 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:04.682 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:04.706 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:04.730 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:04.754 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:04.785 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:04.810 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:04.841 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:04.873 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:04.962 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:05.25 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:05.106 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:05.194 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:05.282 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:05.354 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:05.441 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:05.522 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:05.602 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:05.689 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:05.777 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:05.866 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:05.962 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:06.42 [fido2.hid._do_call:224] Got keepalive status: 01 DEBUG 14:46:07.852 [fido2.ctap2.credman.delete_cred:228] Deleting credential with ID: PublicKeyCredentialDescriptor(type=<PublicKeyCredentialType.PUBLIC_KEY: 'public-key'>, id=b"\xf3\xa1\xce\xeb\xf1\xd0\x02\x03\x00\x00\xfcb\x8a$'\xef\x8a\xf4$\x85\xbc6=\xdb\\M2\xba+\x7f\x0c\xd5+\xf5\x1eG\xf7\x9a\xc4=V\xd1", transports=None) DEBUG 14:46:07.873 [fido2.hid._do_call:224] Got keepalive status: 01 ERROR 14:46:07.881 [ykman._cli.__main__.main:660] Failed to delete credential. Traceback (most recent call last): File "ykman\_cli\fido.py", line 764, in creds_delete File "fido2\ctap2\credman.py", line 229, in delete_cred File "fido2\ctap2\credman.py", line 127, in _call File "fido2\ctap2\base.py", line 508, in credential_mgmt File "fido2\ctap2\base.py", line 273, in send_cbor fido2.ctap.CtapError: CTAP error: 0x2E - NO_CREDENTIALS During handling of the above exception, another exception occurred: Traceback (most recent call last): File "ykman\_cli\__main__.py", line 644, in main File "click\core.py", line 1442, in __call__ File "click\core.py", line 1363, in main File "click\core.py", line 1830, in invoke File "click\core.py", line 1830, in invoke File "click\core.py", line 1830, in invoke File "click\core.py", line 1226, in invoke File "click\core.py", line 794, in invoke File "click\decorators.py", line 34, in new_func File "ykman\_cli\fido.py", line 767, in creds_delete ykman._cli.util.CliFail: Failed to delete credential. ``` Yubico Authenticator produces similar debug log. ``` 13:39:22.166 [settings] INFO: Running diagnostics... 13:40:54.510 [helper.ykman.logging] INFO: Logging at level: DEBUG 13:40:54.510 [helper.ykman.logging] WARNING: ############################################################################# # # # WARNING: Sensitive data may be logged! # # Some personally identifying information may be logged, such as usernames! # # # ############################################################################# 13:40:54.510 [helper.helper.device] INFO: Log level set to: DEBUG 13:40:59.027 [helper.yubikit.support] CONFIG: Attempting to read device info, using CtapHidDevice 13:40:59.027 [helper.yubikit.management] CONFIG: Management session initialized for connection=CtapHidDevice, version=6.6.0 13:40:59.027 [helper.yubikit.management] CONFIG: Reading DeviceInfo page: 0 13:40:59.043 [helper.fido2.hid] CONFIG: Got keepalive status: 01 13:40:59.051 [helper.yubikit.support] CONFIG: Read info: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH|PIV|OPENPGP: 571>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=27566059, version=Version(major=6, minor=6, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY: 0>, fips_approved=<CAPABILITY: 0>, pin_complexity=False, reset_blocked=<CAPABILITY: 0>, fps_version=None, stm_version=None, version_qualifier=VersionQualifier(version=Version(major=6, minor=6, patch=0), type=<RELEASE_TYPE.FINAL: 2>, iteration=0)) 13:40:59.051 [helper.yubikit.support] CONFIG: Device info, after tweaks: DeviceInfo(config=DeviceConfig(enabled_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH|PIV|OPENPGP: 571>}, auto_eject_timeout=0, challenge_response_timeout=0, device_flags=<DEVICE_FLAG.EJECT: 128>, nfc_restricted=False), serial=27566059, version=Version(major=6, minor=6, patch=0), form_factor=<FORM_FACTOR.USB_A_KEYCHAIN: 1>, supported_capabilities={<TRANSPORT.USB: 'usb'>: <CAPABILITY.OTP|U2F|FIDO2|OATH: 547>}, is_locked=False, is_fips=False, is_sky=False, part_number=None, fips_capable=<CAPABILITY: 0>, fips_approved=<CAPABILITY: 0>, pin_complexity=False, reset_blocked=<CAPABILITY: 0>, fps_version=None, stm_version=None, version_qualifier=VersionQualifier(version=Version(major=6, minor=6, patch=0), type=<RELEASE_TYPE.FINAL: 2>, iteration=0)) 13:40:59.051 [helper.ykman.device] CONFIG: Resolved device 27566059 13:40:59.051 [helper.helper.base] CONFIG: created child: fido 13:40:59.068 [helper.fido2.hid] CONFIG: Got keepalive status: 01 13:40:59.116 [helper.helper.base] CONFIG: created child: ctap2 13:40:59.131 [helper.fido2.hid] CONFIG: Got keepalive status: 01 13:40:59.179 [helper.helper.fido] CONFIG: Info: Info(versions=['U2F_V2', 'FIDO_2_0', 'FIDO_2_1', 'FIDO_2_2'], extensions=['credBlob', 'credProtect', 'hmac-secret', 'largeBlobKey', 'minPinLength', 'hmac-secret-mc', 'thirdPartyPayment'], aaguid=AAGUID(89fb94b7-06c9-3673-9b7e-30526d968145), options={'ep': False, 'rk': True, 'alwaysUv': False, 'credMgmt': True, 'authnrCfg': True, 'clientPin': True, 'largeBlobs': True, 'pinUvAuthToken': True, 'setMinPINLength': True}, max_msg_size=1024, pin_uv_protocols=[1, 2], max_creds_in_list=16, max_cred_id_length=1024, transports=[], algorithms=[{'alg': -7, 'type': 'public-key'}, {'alg': -35, 'type': 'public-key'}, {'alg': -36, 'type': 'public-key'}], max_large_blob=2048, force_pin_change=False, min_pin_length=4, firmware_version=1542, max_cred_blob_length=128, max_rpids_for_min_pin=0, preferred_platform_uv_attempts=0, uv_modality=0, certifications={}, remaining_disc_creds=None, vendor_prototype_config_commands=[], attestation_formats=['packed'], uv_count_since_pin=None, long_touch_for_reset=False, enc_identifier=None, transports_for_reset=[], pin_complexity_policy=None, pin_complexity_policy_url=None, max_pin_length=63) 13:40:59.195 [helper.fido2.hid] CONFIG: Got keepalive status: 01 13:40:59.203 [desktop.fido.state] DEBUG: Using transport UsbInterface.fido for CTAP 13:40:59.219 [helper.fido2.hid] CONFIG: Got keepalive status: 01 13:40:59.267 [helper.helper.fido] CONFIG: Info: Info(versions=['U2F_V2', 'FIDO_2_0', 'FIDO_2_1', 'FIDO_2_2'], extensions=['credBlob', 'credProtect', 'hmac-secret', 'largeBlobKey', 'minPinLength', 'hmac-secret-mc', 'thirdPartyPayment'], aaguid=AAGUID(89fb94b7-06c9-3673-9b7e-30526d968145), options={'ep': False, 'rk': True, 'alwaysUv': False, 'credMgmt': True, 'authnrCfg': True, 'clientPin': True, 'largeBlobs': True, 'pinUvAuthToken': True, 'setMinPINLength': True}, max_msg_size=1024, pin_uv_protocols=[1, 2], max_creds_in_list=16, max_cred_id_length=1024, transports=[], algorithms=[{'alg': -7, 'type': 'public-key'}, {'alg': -35, 'type': 'public-key'}, {'alg': -36, 'type': 'public-key'}], max_large_blob=2048, force_pin_change=False, min_pin_length=4, firmware_version=1542, max_cred_blob_length=128, max_rpids_for_min_pin=0, preferred_platform_uv_attempts=0, uv_modality=0, certifications={}, remaining_disc_creds=None, vendor_prototype_config_commands=[], attestation_formats=['packed'], uv_count_since_pin=None, long_touch_for_reset=False, enc_identifier=None, transports_for_reset=[], pin_complexity_policy=None, pin_complexity_policy_url=None, max_pin_length=63) 13:40:59.283 [helper.fido2.hid] CONFIG: Got keepalive status: 01 13:40:59.307 [helper.fido2.hid] CONFIG: Got keepalive status: 01 13:40:59.355 [helper.fido2.hid] CONFIG: Got keepalive status: 01 13:40:59.547 [helper.fido2.ctap2.pin] CONFIG: Got PIN token for permissions: 36 13:40:59.563 [helper.fido2.hid] CONFIG: Got keepalive status: 01 13:40:59.612 [helper.helper.fido] CONFIG: Info: Info(versions=['U2F_V2', 'FIDO_2_0', 'FIDO_2_1', 'FIDO_2_2'], extensions=['credBlob', 'credProtect', 'hmac-secret', 'largeBlobKey', 'minPinLength', 'hmac-secret-mc', 'thirdPartyPayment'], aaguid=AAGUID(89fb94b7-06c9-3673-9b7e-30526d968145), options={'ep': False, 'rk': True, 'alwaysUv': False, 'credMgmt': True, 'authnrCfg': True, 'clientPin': True, 'largeBlobs': True, 'pinUvAuthToken': True, 'setMinPINLength': True}, max_msg_size=1024, pin_uv_protocols=[1, 2], max_creds_in_list=16, max_cred_id_length=1024, transports=[], algorithms=[{'alg': -7, 'type': 'public-key'}, {'alg': -35, 'type': 'public-key'}, {'alg': -36, 'type': 'public-key'}], max_large_blob=2048, force_pin_change=False, min_pin_length=4, firmware_version=1542, max_cred_blob_length=128, max_rpids_for_min_pin=0, preferred_platform_uv_attempts=0, uv_modality=0, certifications={}, remaining_disc_creds=None, vendor_prototype_config_commands=[], attestation_formats=['packed'], uv_count_since_pin=None, long_touch_for_reset=False, enc_identifier=None, transports_for_reset=[], pin_complexity_policy=None, pin_complexity_policy_url=None, max_pin_length=63) 13:40:59.627 [helper.fido2.hid] CONFIG: Got keepalive status: 01 13:40:59.635 [desktop.fido.state] DEBUG: application status {"info":{"versions":["U2F_V2","FIDO_2_0","FIDO_2_1","FIDO_2_2"],"extensions":["credBlob","credProtect","hmac-secret","largeBlobKey","minPinLength","hmac-secret-mc","thirdPartyPayment"],"aaguid":"89fb94b706c936739b7e30526d968145","options":{"ep":false,"rk":true,"alwaysUv":false,"credMgmt":true,"authnrCfg":true,"clientPin":true,"largeBlobs":true,"pinUvAuthToken":true,"setMinPINLength":true},"max_msg_size":1024,"pin_uv_protocols":[1,2],"max_creds_in_list":16,"max_cred_id_length":1024,"transports":[],"algorithms":[{"alg":-7,"type":"public-key"},{"alg":-35,"type":"public-key"},{"alg":-36,"type":"public-key"}],"max_large_blob":2048,"force_pin_change":false,"min_pin_length":4,"firmware_version":1542,"max_cred_blob_length":128,"max_rpids_for_min_pin":0,"preferred_platform_uv_attempts":0,"uv_modality":0,"certifications":{},"remaining_disc_creds":null,"vendor_prototype_config_commands":[],"attestation_formats":["packed"],"uv_count_since_pin":null,"long_touch_for_reset":false,"enc_identifier":null,"transports_for_reset":[],"pin_complexity_policy":null,"pin_complexity_policy_url":null,"max_pin_length":63},"unlocked":true,"unlocked_read":true,"pin_retries":8} ... 13:40:59.914 [helper.helper.base] CONFIG: created child: credentials 13:40:59.939 [helper.fido2.hid] CONFIG: Got keepalive status: 01 13:41:00.563 [helper.helper.base] CONFIG: created child: www.passkeys.io 13:41:00.563 [helper.helper.base] CONFIG: close existing child: www.passkeys.io 13:41:00.563 [helper.helper.base] CONFIG: Closing node <helper.fido.CredentialsRpNode object at 0x000001F6655465D0> ... 13:41:11.171 [helper.fido2.hid] CONFIG: Got keepalive status: 01 13:41:11.227 [helper.helper.base] CONFIG: created child: www.passkeys.io 13:41:11.227 [helper.helper.base] CONFIG: created child: f3a1ceebf1d002030000fc628a2427ef8af42485bc363ddb5c4d32ba2b7f0cd52bf51e47f79ac43d56d1 13:41:11.227 [helper.fido2.ctap2.credman] CONFIG: Deleting credential with ID: PublicKeyCredentialDescriptor(type=<PublicKeyCredentialType.PUBLIC_KEY: 'public-key'>, id=b"\xf3\xa1\xce\xeb\xf1\xd0\x02\x03\x00\x00\xfcb\x8a$'\xef\x8a\xf4$\x85\xbc6=\xdb\\M2\xba+\x7f\x0c\xd5+\xf5\x1eG\xf7\x9a\xc4=V\xd1", transports=None) 13:41:11.251 [helper.fido2.hid] CONFIG: Got keepalive status: 01 13:41:11.260 [helper.helper] SEVERE: Unhandled exception Traceback (most recent call last): File "helper\__init__.py", line 105, in process File "helper\device.py", line 106, in __call__ File "helper\base.py", line 136, in __call__ File "helper\device.py", line 218, in __call__ File "helper\base.py", line 136, in __call__ File "helper\device.py", line 290, in __call__ File "helper\base.py", line 136, in __call__ File "helper\device.py", line 522, in __call__ File "helper\base.py", line 136, in __call__ File "helper\fido.py", line 136, in __call__ File "helper\base.py", line 136, in __call__ File "helper\base.py", line 136, in __call__ File "helper\base.py", line 136, in __call__ File "helper\base.py", line 153, in __call__ File "helper\fido.py", line 350, in delete File "fido2\ctap2\credman.py", line 229, in delete_cred File "fido2\ctap2\credman.py", line 127, in _call File "fido2\ctap2\base.py", line 508, in credential_mgmt File "fido2\ctap2\base.py", line 273, in send_cbor fido2.ctap.CtapError: CTAP error: 0x2E - NO_CREDENTIALS ... 13:41:18.004 [settings] INFO: Copying log to clipboard (7.3.1)... ```
polhenarejos commented 2025-12-01 02:30:57 +08:00 (Migrated from github.com)

Does it work with Yubico Authenticator?

BTW, I cannot reproduce it.

Does it work with Yubico Authenticator? BTW, I cannot reproduce it.
dasdwe commented 2025-12-01 02:50:45 +08:00 (Migrated from github.com)

I can click "Delete" multiple times, but nothing changes. Debug log is attached in the first post.

Image

Maybe it's because of much longer Credential IDs than it's in Yubikey?

I can click "Delete" multiple times, but nothing changes. Debug log is attached in the first post. <img width="1207" height="955" alt="Image" src="https://github.com/user-attachments/assets/561ea69c-5aa7-4cd6-887a-e26cdf0e9170" /> Maybe it's because of much longer Credential IDs than it's in Yubikey?
polhenarejos commented 2025-12-01 03:08:51 +08:00 (Migrated from github.com)

Not sure why, it works to me.

me@mac ~ % ykman fido credentials list                      
Enter your PIN: 
Credential ID              RP ID            Username           Display name     
722f97f1f1d002030000ee...  www.passkeys.io  patata@patata.com  patata@patata.com
722f97f1f1d0020300003f...  webauthn.io      tests              tests            
me@mac ~ % ykman fido credentials delete 722f97f1f1d002030000ee
Enter your PIN: 
Delete www.passkeys.io patata@patata.com patata@patata.com (722f97f1f1d002030000ee8b7aad6e0a9541ff7d03ea7e5facbd5970540ca7cec9e2c1666bfc8fc2784a)? [y/N]: y
Deleting credential, DO NOT REMOVE YOUR YUBIKEY!
Credential deleted.
me@mac ~ % ykman fido credentials delete 722f97f1f1d0020300003f
Enter your PIN: 
Delete webauthn.io tests tests (722f97f1f1d0020300003f6983ada81ad37d213434aacacd9fad5d0e889de363ab6a99082559d8d772c3)? [y/N]: y
Deleting credential, DO NOT REMOVE YOUR YUBIKEY!
Credential deleted.
me@mac ~ % ykman fido credentials list                         
Enter your PIN: 
Credential ID  RP ID  Username  Display name
Not sure why, it works to me. ```bash me@mac ~ % ykman fido credentials list Enter your PIN: Credential ID RP ID Username Display name 722f97f1f1d002030000ee... www.passkeys.io patata@patata.com patata@patata.com 722f97f1f1d0020300003f... webauthn.io tests tests me@mac ~ % ykman fido credentials delete 722f97f1f1d002030000ee Enter your PIN: Delete www.passkeys.io patata@patata.com patata@patata.com (722f97f1f1d002030000ee8b7aad6e0a9541ff7d03ea7e5facbd5970540ca7cec9e2c1666bfc8fc2784a)? [y/N]: y Deleting credential, DO NOT REMOVE YOUR YUBIKEY! Credential deleted. me@mac ~ % ykman fido credentials delete 722f97f1f1d0020300003f Enter your PIN: Delete webauthn.io tests tests (722f97f1f1d0020300003f6983ada81ad37d213434aacacd9fad5d0e889de363ab6a99082559d8d772c3)? [y/N]: y Deleting credential, DO NOT REMOVE YOUR YUBIKEY! Credential deleted. me@mac ~ % ykman fido credentials list Enter your PIN: Credential ID RP ID Username Display name ```
dasdwe commented 2025-12-01 04:43:03 +08:00 (Migrated from github.com)

I don't know what was wrong but after nuke and reflash it is working now with no issue. I can create and delete credentials. Thank you for your time and great work!

I don't know what was wrong but after nuke and reflash it is working now with no issue. I can create and delete credentials. Thank you for your time and great work!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dearsky/pico-fido#206