I have a dual interface java card and get the below information from the card :
Contact interface - ATR = 3B F8 13 00 00 81 31 FE 45 4A 43 4F 50 76 32 34 31 B7
Contactless interface - ATR =3B 88 80 01 4A 43 4F 50 76 32 34 31 5E
After searching for the ATR in the net, I found that the contact interface is a NXP JCOP CJ3A080v241
But searching for the contact less ATR doesn't give me anything.
Now the question :
- 1- How I can gain any information about the contact-less interface (And even contact interface), and totally about this card (its default keys, applets, commands, and its ISD AID)?
- 2- Why I can't give the list of its applets using GPJ?
GPJ output :
E:\Smart Card\gpj>GPJ -jcop
E:\Smart Card\gpj>java -jar gpj.jar -jcop
Unable to load jcop compatibility provider.
Please put offcard.jar and jcopio.jar on the class path.
java.lang.ClassNotFoundException: ds.javacard.emulator.jcop.DS_provider
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at net.sourceforge.gpj.cardservices.GlobalPlatformService.loadJCOPProvid
er(Unknown Source)
at net.sourceforge.gpj.cardservices.GlobalPlatformService.main(Unknown S
ource)
E:\Smart Card\gpj>
- 3- Whould you please list for me the name of Tools that are for JCOP cards?
Note : I have an ACR38 and an ACR122U card reader.
You can use some of these helpful commands:
GET DATA (Tag 0066) ==> Just send 80CA006600 to the card, The Response would be something like this:
66 4C
73 4A
06 07 2A 86 48 86 FC 6B 01
60 0C 06 0A 2A 86 48 86 FC 6B 02 02 01 01
63 09 06 07 2A 86 48 86 FC 6B 03
64 0B 06 09 2A 86 48 86 FC 6B 04 01 05
65 0B 06 09 2B 85 10 86 48 64 02 01 03
66 0C 06 0A 2B 06 01 04 01 2A 02 6E 01 02
90 00
Global Platform version : 2.1.1
Global Platform Secure Channel Protocol: 01 option 05
Java Card version : 2.2
GET DATA (Tag 9F7F) ==> Just send 80CA9F7F00 to the card (get-cplc command), The Response would be something like this:
IC Fabricator : 4790
IC Type : 5040
Operating System ID : 4791
Operating System release date : 8102 (11.4.2008)
Operating System release level : 3100
IC Fabrication Date : 8358 (23.12.2008)
IC Serial Number : 00116891
IC Batch Identifier : 4581
IC Module Fabricator : 4812
IC Module Packaging Date : 8365 (30.12.2008)
ICC Manufacturer : 0000
IC Embedding Date : 0000
IC Pre-Personalizer : 012F
IC Pre-Perso. Equipment Date : 3130 (10.5.2003)
IC Pre-Perso. Equipment ID : 31313638
IC Personalizer : 0000
IC Personalization Date : 0000
IC Perso. Equipment ID : 00000000
Also you can use card-info command in Jcop Shell in order to list all available applets ans SDs on the card with their AIDs. (There is equivalent commands in GPShell for this command but you should parse the bytes, If you use JCop Shell then all data are parsed and clearly available for you)