Dumping keys with pico-fido-tool.py #146

Open
opened 2025-05-04 15:43:27 +08:00 by DeepLearn6984 · 1 comment
DeepLearn6984 commented 2025-05-04 15:43:27 +08:00 (Migrated from github.com)

Hello,

I'm getting an issue while I'm trying to dump my pico keys on Windows. I'm running the Python script as admin and the PIN is correct. Target is Pico 2 W.

Here is the output with the correct PIN:

C:\Users\me\Downloads\pico-fido-main\tools>python pico-fido-tool.py -p 0000 backup save myfile.txt
Pico Fido Tool v1.10
Author: Pol Henarejos
Report bugs to https://github.com/polhenarejos/pico-fido/issues


Traceback (most recent call last):
  File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 611, in <module>
    run()
  File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 608, in run
    main(args)
  File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 598, in main
    backup(vdr, args)
  File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 529, in backup
    vdr.backup_save(args.filename)
  File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 303, in backup_save
    ret = self._call(
  File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 292, in _call
    return self.ctap.vendor(cmd, sub_cmd, params, pin_uv_protocol, pin_uv_param)
  File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 215, in vendor
    return self.send_vendor(
  File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 178, in send_vendor
    raise CtapError(status)
fido2.ctap.CtapError: CTAP error: 0x33 - PIN_AUTH_INVALID

Here is another test with an incorrect PIN:

C:\Users\me\Downloads\pico-fido-main\tools>python pico-fido-tool.py -p 9999 backup save myfile.txt
Pico Fido Tool v1.10
Author: Pol Henarejos
Report bugs to https://github.com/polhenarejos/pico-fido/issues


Traceback (most recent call last):
  File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 611, in <module>
    run()
  File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 608, in run
    main(args)
  File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 592, in main
    token = client_pin.get_pin_token(args.pin, permissions=ClientPin.PERMISSION.AUTHENTICATOR_CFG)
  File "C:\Users\me\me\Local\Programs\Python\Python310\lib\site-packages\fido2\ctap2\pin.py", line 315, in get_pin_token
    resp = self.ctap.client_pin(
  File "C:\Users\me\me\Local\Programs\Python\Python310\lib\site-packages\fido2\ctap2\base.py", line 296, in client_pin
    return self.send_cbor(
  File "C:\Users\me\me\Local\Programs\Python\Python310\lib\site-packages\fido2\ctap2\base.py", line 241, in send_cbor
    raise CtapError(status)
fido2.ctap.CtapError: CTAP error: 0x31 - PIN_INVALID
Hello, I'm getting an issue while I'm trying to dump my pico keys on Windows. I'm running the Python script as admin and the PIN is correct. Target is Pico 2 W. Here is the output with the correct PIN: ``` C:\Users\me\Downloads\pico-fido-main\tools>python pico-fido-tool.py -p 0000 backup save myfile.txt Pico Fido Tool v1.10 Author: Pol Henarejos Report bugs to https://github.com/polhenarejos/pico-fido/issues Traceback (most recent call last): File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 611, in <module> run() File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 608, in run main(args) File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 598, in main backup(vdr, args) File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 529, in backup vdr.backup_save(args.filename) File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 303, in backup_save ret = self._call( File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 292, in _call return self.ctap.vendor(cmd, sub_cmd, params, pin_uv_protocol, pin_uv_param) File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 215, in vendor return self.send_vendor( File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 178, in send_vendor raise CtapError(status) fido2.ctap.CtapError: CTAP error: 0x33 - PIN_AUTH_INVALID ``` Here is another test with an incorrect PIN: ``` C:\Users\me\Downloads\pico-fido-main\tools>python pico-fido-tool.py -p 9999 backup save myfile.txt Pico Fido Tool v1.10 Author: Pol Henarejos Report bugs to https://github.com/polhenarejos/pico-fido/issues Traceback (most recent call last): File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 611, in <module> run() File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 608, in run main(args) File "C:\Users\me\Downloads\pico-fido-main\tools\pico-fido-tool.py", line 592, in main token = client_pin.get_pin_token(args.pin, permissions=ClientPin.PERMISSION.AUTHENTICATOR_CFG) File "C:\Users\me\me\Local\Programs\Python\Python310\lib\site-packages\fido2\ctap2\pin.py", line 315, in get_pin_token resp = self.ctap.client_pin( File "C:\Users\me\me\Local\Programs\Python\Python310\lib\site-packages\fido2\ctap2\base.py", line 296, in client_pin return self.send_cbor( File "C:\Users\me\me\Local\Programs\Python\Python310\lib\site-packages\fido2\ctap2\base.py", line 241, in send_cbor raise CtapError(status) fido2.ctap.CtapError: CTAP error: 0x31 - PIN_INVALID ```
polhenarejos commented 2025-05-05 20:21:25 +08:00 (Migrated from github.com)

This is not meant to backup the keys. This tool is for backing up the key encryption key for RP2040, since they do not have OTP.
This command succeeds if previously you enabled secure key.

This is not meant to backup the keys. This tool is for backing up the key encryption key for RP2040, since they do not have OTP. This command succeeds if previously you enabled secure key.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dearsky/pico-fido#146