-
Notifications
You must be signed in to change notification settings - Fork 176
Timeout is not being set for the smart card using fido_dev_set_timeout #941
Description
What version of libfido2 are you using?
Latest verison. I custom built the code using PCSC mode ON.
What operating system are you running?
Windows 11
What application are you using in conjunction with libfido2?
C++ sample application
How does the problem manifest itself?
When I set the timeout to 30000 msec using fido_dev_set_timeout() during assertion and attestation, the device hardly waits 2 to 3 seconds before throwing a timeout error. Is this something that can be fixed from the library and do I need to talk with the manufacturer? I am using a PCSC card.
Is the problem reproducible?
Yes, every time.
What are the steps that lead to the problem?
Doing general attestation and assertion scenarios.
Does the problem happen with different authenticators?
No
Please include the output of fido2-token -I.
fido2-token -I -d "pcsc://slot1"
fido_tx: dev=000002B3EC38F010, cmd=0x06
fido_tx: buf=000002B3EC38F010, len=8
0000: 13 1b cc f8 b4 57 ce cd
fido_pcsc_write: writing: buf=000000D18F2FF4D0, len=14
0000: 00 a4 04 00 08 a0 00 00 06 47 2f 00 01 00
fido_pcsc_write: read: buf=000002B3EC3ACE28, len=8
0000: 55 32 46 5f 56 32 90 00
fido_rx: dev=000002B3EC38F010, cmd=0x06, ms=-1
fido_pcsc_read: reading: buf=000002B3EC3ACE28, len=8
0000: 55 32 46 5f 56 32 90 00
fido_dev_get_cbor_info_tx: dev=000002B3EC38F010
fido_tx: dev=000002B3EC38F010, cmd=0x10
fido_tx: buf=000000D18F2FF890, len=1
0000: 04
fido_pcsc_write: writing: buf=000000D18F2FF450, len=7
0000: 80 10 00 00 01 04 00
fido_pcsc_write: read: buf=000002B3EC3ACE28, len=196
0000: 00 aa 01 83 68 46 49 44 4f 5f 32 5f 31 68 46 49
0016: 44 4f 5f 32 5f 30 66 55 32 46 5f 56 32 02 84 6b
0032: 63 72 65 64 50 72 6f 74 65 63 74 68 63 72 65 64
0048: 42 6c 6f 62 6c 6c 61 72 67 65 42 6c 6f 62 4b 65
0064: 79 6b 68 6d 61 63 2d 73 65 63 72 65 74 03 50 0f
0080: 00 cc 22 46 40 41 e7 95 85 38 4e c7 3f fe 9b 04
0096: a8 62 72 6b f5 62 75 76 f5 67 75 76 54 6f 6b 65
0112: 6e f5 68 61 6c 77 61 79 73 55 76 f5 68 63 72 65
0128: 64 4d 67 6d 74 f5 69 61 75 74 68 6e 72 43 66 67
0144: f4 6a 6c 61 72 67 65 42 6c 6f 62 73 f5 6e 70 69
0160: 6e 55 76 41 75 74 68 54 6f 6b 65 6e f5 05 19 04
0176: 00 06 82 02 01 0b 19 08 00 0e 19 09 cb 0f 18 80
0192: 11 03 90 00
fido_dev_get_cbor_info_rx: dev=000002B3EC38F010, ci=000002B3EC3ACF40, ms=-1
fido_rx: dev=000002B3EC38F010, cmd=0x10, ms=-1
fido_pcsc_read: reading: buf=000002B3EC3ACE28, len=196
0000: 00 aa 01 83 68 46 49 44 4f 5f 32 5f 31 68 46 49
0016: 44 4f 5f 32 5f 30 66 55 32 46 5f 56 32 02 84 6b
0032: 63 72 65 64 50 72 6f 74 65 63 74 68 63 72 65 64
0048: 42 6c 6f 62 6c 6c 61 72 67 65 42 6c 6f 62 4b 65
0064: 79 6b 68 6d 61 63 2d 73 65 63 72 65 74 03 50 0f
0080: 00 cc 22 46 40 41 e7 95 85 38 4e c7 3f fe 9b 04
0096: a8 62 72 6b f5 62 75 76 f5 67 75 76 54 6f 6b 65
0112: 6e f5 68 61 6c 77 61 79 73 55 76 f5 68 63 72 65
0128: 64 4d 67 6d 74 f5 69 61 75 74 68 6e 72 43 66 67
0144: f4 6a 6c 61 72 67 65 42 6c 6f 62 73 f5 6e 70 69
0160: 6e 55 76 41 75 74 68 54 6f 6b 65 6e f5 05 19 04
0176: 00 06 82 02 01 0b 19 08 00 0e 19 09 cb 0f 18 80
0192: 11 03 90 00
fido_dev_open_rx: FIDO_MAXMSG=2048, maxmsgsiz=1024
proto: 0x00
major: 0x00
minor: 0x00
build: 0x00
caps: 0x04 (nowink, cbor, msg)
fido_dev_get_cbor_info_tx: dev=000002B3EC38F010
fido_tx: dev=000002B3EC38F010, cmd=0x10
fido_tx: buf=000000D18F2FF970, len=1
0000: 04
fido_pcsc_write: writing: buf=000000D18F2FF530, len=7
0000: 80 10 00 00 01 04 00
fido_pcsc_write: read: buf=000002B3EC3ACE28, len=196
0000: 00 aa 01 83 68 46 49 44 4f 5f 32 5f 31 68 46 49
0016: 44 4f 5f 32 5f 30 66 55 32 46 5f 56 32 02 84 6b
0032: 63 72 65 64 50 72 6f 74 65 63 74 68 63 72 65 64
0048: 42 6c 6f 62 6c 6c 61 72 67 65 42 6c 6f 62 4b 65
0064: 79 6b 68 6d 61 63 2d 73 65 63 72 65 74 03 50 0f
0080: 00 cc 22 46 40 41 e7 95 85 38 4e c7 3f fe 9b 04
0096: a8 62 72 6b f5 62 75 76 f5 67 75 76 54 6f 6b 65
0112: 6e f5 68 61 6c 77 61 79 73 55 76 f5 68 63 72 65
0128: 64 4d 67 6d 74 f5 69 61 75 74 68 6e 72 43 66 67
0144: f4 6a 6c 61 72 67 65 42 6c 6f 62 73 f5 6e 70 69
0160: 6e 55 76 41 75 74 68 54 6f 6b 65 6e f5 05 19 04
0176: 00 06 82 02 01 0b 19 08 00 0e 19 09 cb 0f 18 80
0192: 11 03 90 00
fido_dev_get_cbor_info_rx: dev=000002B3EC38F010, ci=000002B3EC3ACF40, ms=-1
fido_rx: dev=000002B3EC38F010, cmd=0x10, ms=-1
fido_pcsc_read: reading: buf=000002B3EC3ACE28, len=196
0000: 00 aa 01 83 68 46 49 44 4f 5f 32 5f 31 68 46 49
0016: 44 4f 5f 32 5f 30 66 55 32 46 5f 56 32 02 84 6b
0032: 63 72 65 64 50 72 6f 74 65 63 74 68 63 72 65 64
0048: 42 6c 6f 62 6c 6c 61 72 67 65 42 6c 6f 62 4b 65
0064: 79 6b 68 6d 61 63 2d 73 65 63 72 65 74 03 50 0f
0080: 00 cc 22 46 40 41 e7 95 85 38 4e c7 3f fe 9b 04
0096: a8 62 72 6b f5 62 75 76 f5 67 75 76 54 6f 6b 65
0112: 6e f5 68 61 6c 77 61 79 73 55 76 f5 68 63 72 65
0128: 64 4d 67 6d 74 f5 69 61 75 74 68 6e 72 43 66 67
0144: f4 6a 6c 61 72 67 65 42 6c 6f 62 73 f5 6e 70 69
0160: 6e 55 76 41 75 74 68 54 6f 6b 65 6e f5 05 19 04
0176: 00 06 82 02 01 0b 19 08 00 0e 19 09 cb 0f 18 80
0192: 11 03 90 00
version strings: FIDO_2_1, FIDO_2_0, U2F_V2
extension strings: credProtect, credBlob, largeBlobKey, hmac-secret
aaguid: 0f00cc22464041e79585384ec73ffe9b
options: rk, uv, uvToken, alwaysUv, credMgmt, noauthnrCfg, largeBlobs, pinUvAuthToken
fwversion: 0x9cb
maxmsgsiz: 1024
maxcredcntlst: 0
maxcredlen: 0
maxcredblob: 128
maxlargeblob: 2048
pin protocols: 2, 1
fido_tx: dev=000002B3EC38F010, cmd=0x10
fido_tx: buf=000002B3EC3A1910, len=6
0000: 06 a2 01 01 02 01
fido_pcsc_write: writing: buf=000000D18F2FF4A0, len=12
0000: 80 10 00 00 06 06 a2 01 01 02 01 00
fido_pcsc_write: read: buf=000002B3EC3ACE28, len=3
0000: 3e 90 00
fido_rx: dev=000002B3EC38F010, cmd=0x10, ms=-1
fido_pcsc_read: reading: buf=000002B3EC3ACE28, len=3
0000: 3e 90 00
cbor_parse_reply: blob[0]=0x3e
fido_dev_get_pin_retry_count_rx: parse_pin_retry_count
pin retries: undefined
pin change required: false
fido_tx: dev=000002B3EC38F010, cmd=0x10
fido_tx: buf=000002B3EC3A1810, len=6
0000: 06 a2 01 01 02 07
fido_pcsc_write: writing: buf=000000D18F2FF4A0, len=12
0000: 80 10 00 00 06 06 a2 01 01 02 07 00
fido_pcsc_write: read: buf=000002B3EC3ACE28, len=6
0000: 00 a1 05 03 90 00
fido_rx: dev=000002B3EC38F010, cmd=0x10, ms=-1
fido_pcsc_read: reading: buf=000002B3EC3ACE28, len=6
0000: 00 a1 05 03 90 00
uv retries: 3
platform uv attempt(s): 3
long touch for reset: false
fido_tx: dev=000002B3EC38F010, cmd=0x10
fido_tx: buf=000002B3EC3A18B0, len=6
0000: 40 a2 01 01 02 07
fido_pcsc_write: writing: buf=000000D18F2FF3A0, len=12
0000: 80 10 00 00 06 40 a2 01 01 02 07 00
fido_pcsc_write: read: buf=000002B3EC3ACE28, len=3
0000: 01 90 00
fido_rx: dev=000002B3EC38F010, cmd=0x10, ms=-1
fido_pcsc_read: reading: buf=000002B3EC3ACE28, len=3
0000: 01 90 00
cbor_parse_reply: blob[0]=0x01
bio_rx_info: bio_parse_info
bio_get_info_wait: tx/rx