diff --git a/src/main/java/us/q3q/fido2/FIDO2Applet.java b/src/main/java/us/q3q/fido2/FIDO2Applet.java index 810cd26..cde8655 100644 --- a/src/main/java/us/q3q/fido2/FIDO2Applet.java +++ b/src/main/java/us/q3q/fido2/FIDO2Applet.java @@ -5518,6 +5518,10 @@ private void authenticatorReset(APDU apdu) { counter.clear(); transientStorage.fullyReset(); + // A CTAP2 reset does not deselect the applet; fullyReset() clears the whole + // transient bitfield including the applet-selected bit, so restore it here to + // avoid rejecting all later commands with INS_NOT_SUPPORTED until the next SELECT. + transientStorage.setAppletSelected(); forceInitKeyAgreementKey();