I wish to read some basic info from a bunch of smartcard from different vendors, different usage, different APDUs. For example : national identification smartcard, EMV (payment), cellphone SIM, javacard, etc ...
I wrote a Java application. Let me call the SC families A B C D E and with the same names the 5 subroutines, each one with the correct APDUs to read the basic info for one specific family of SC.
Unfortunately the order I issue the routines biases the successful results.
Example : with the subroutine order A B C D E, I can read SC of type A B C D, not E.
If I change the execution order to E A B C D, I can read E but now I fail with SC of type C.
I understand : some SC discard foreign APDUs ... other SC "hangs".
Is there a basic command to clean the state of smartcard ( and reader ) ?
So the order of execution of the subroutines doesn't change the output ?
A reset B reset C reset D reset etc...
Is it ATR ? Is it mandatory on each kind of SC ?