diff --git a/src/fido/management.c b/src/fido/management.c index b6ac61e..7be2e63 100644 --- a/src/fido/management.c +++ b/src/fido/management.c @@ -85,6 +85,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