diff --git a/pico-keys-sdk b/pico-keys-sdk index da3a7f2..f01aca5 160000 --- a/pico-keys-sdk +++ b/pico-keys-sdk @@ -1 +1 @@ -Subproject commit da3a7f25d0a7c5718d0288b2c3d369b9abee6049 +Subproject commit f01aca551893efa27137a9907289fa5bd442cfaa diff --git a/src/fido/management.c b/src/fido/management.c index 6bd299e..1827509 100644 --- a/src/fido/management.c +++ b/src/fido/management.c @@ -101,6 +101,7 @@ int man_get_config() { res_APDU[res_APDU_size++] = TAG_SERIAL; res_APDU[res_APDU_size++] = 4; memcpy(res_APDU + res_APDU_size, pico_serial.id, 4); + res_APDU[res_APDU_size] &= ~0xFC; // Force 8-digit serial number res_APDU_size += 4; res_APDU[res_APDU_size++] = TAG_FORM_FACTOR; res_APDU[res_APDU_size++] = 1; diff --git a/src/fido/otp.c b/src/fido/otp.c index 0e41dab..e434d27 100644 --- a/src/fido/otp.c +++ b/src/fido/otp.c @@ -476,6 +476,7 @@ int cmd_otp() { } else if (p1 == 0x10) { memcpy(res_APDU, pico_serial.id, 4); + res_APDU[0] &= ~0xFC; // Force 8-digit serial number res_APDU_size = 4; } else if (p1 == 0x13) { // Get config