我有一个双界面java卡,并从卡中获取以下信息:
联系人界面 - ATR = 3B F8 13 00 00 81 31 FE 45 4A 43 4F 50 76 32 34 31 B7
非接触式界面 - ATR = 3B 88 80 01 4A 43 4F 50 76 32 34 31 5E
在网上搜索ATR后,我发现联系人界面是 NXP JCOP CJ3A080v241
但是搜索联系人少ATR不会给我任何东西。
现在的问题是:
GPJ 输出:
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>
注意:我有一个ACR38和一个ACR122U读卡器。
答案 0 :(得分:2)
看看这里:https://github.com/martinpaljak/GlobalPlatform(并且不要使用-jcop,这在新版本中也不存在)
答案 1 :(得分:1)
您可以使用以下一些有用的命令:
获取数据(标签0066)==>只需将80CA006600发送到卡上,响应将是这样的:
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
全球平台版本:2.1.1
全球平台安全通道协议:01选项05
Java Card版本:2.2
获取数据(标签9F7F)==>只需将80CA9F7F00发送到卡(get-cplc命令),响应将是这样的:
IC Fabricator:4790
IC类型:5040
操作系统ID:4791
操作系统发布日期:8102(11.4.2008)
操作系统版本级别:3100
IC制造日期:8358(23.12.2008)
IC序列号:00116891
IC批次标识符:4581
IC Module Fabricator:4812
IC模块包装日期:8365(30.12.2008)
ICC制造商:0000
IC嵌入日期:0000
IC Pre-Personalizer:012F
IC Pre-Perso。设备日期:3130(10.5.2003)
IC Pre-Perso。装备ID:31313638
IC Personalizer:0000
IC个性化日期:0000
IC Perso。设备编号:00000000
此外,您可以在Jcop Shell中使用card-info命令,以便列出卡上所有可用的applet和SD以及它们的AID。 (在这个命令的GPShell中有相同的命令,但你应该解析字节,如果你使用JCop Shell,那么所有数据都会被解析并且清楚地为你提供)