【发布时间】:2015-04-01 09:27:04
【问题描述】:
我有一张具有以下 ATR 的智能卡:
ATR = 3B 9E 94 80 1F 42 80 31 00 73 BE 21 10 66 54 59 53 04 4C 25 CF。
根据atr-parse.appspot.com 的输出,我发现它是一张MCI(伊朗移动通信公司)SIM 卡。
这些是我从历史字节中获得的信息:
(压缩 TLV 数据对象)
Tag:3,Len:1(卡服务数据字节)
卡服务数据字节:0
EF.DIR 和 EF.ATR 访问服务:通过 GET RECORD(s) 命令
MF 卡
标签:7,长度:3(卡片功能)
选择方法:190种
支持的记录号
支持短 EF 标识符
隐式 DF 选择
按文件标识符选择DF
按路径选择DF
按全 DF 名称选择 DF
数据编码字节:33
写函数的行为:专有
BER-TLV 标签字段第一个字节的值“FF”:有效
四重奏中的数据单位:1
命令链、长度字段和逻辑通道:16
逻辑通道号分配:通过卡
最大逻辑通道数:1
标签:6,Len:6(发布前数据)
数据:54 59 53 04 4C 25“TYS.L%”
正如你在上面看到的,卡上有一个MF。
问题是我不能用这张卡做任何事情。在第一步中,我想列出它的内容。我查看了 TS 11.11、TS 102.221、TS 131.102 和 TS 151.011 规范。
据我从上面的文档中了解到,卡的系统文件由一个Master File 组成,它的 AID 是3F00 和一些 DF-s 和 EF-s。例如,基于 TS 151.011 规范的下表,我尝试选择一些 DF-s:
这些是结果:
Connected to RTP CCID USB Reader 0
ATR: 3B 9E 94 80 1F 42 80 31 00 73 BE 21 10 66 54 59 53 04 4C 25 CF
> APDU
> A0 A4 04 00 02 5F 30
< 6A 82
> APDU
> A4 A4 04 00 00
< 6E 00
> APDU
> A0 A4 04 00 00
< 67 00
> APDU
> 00 A4 04 00 00
< 61 13
> APDU
> 00 C0 00 00 13
< 6F 11 84 09 A0 00 00 00 62 03 01 08 01 A5 04 9F 65 01 FF
< 90 00
> APDU
> 00 A4 04 00 09 A0 00 00 00 62 03 01 08 01
< 61 13
> APDU
> A0 A4 04 00 09 A0 00 00 00 62 03 01 08 01
< 6E 00
> APDU
> 00 A4 04 00 09 A0 00 00 00 62 03 01 08 01
< 61 13
> APDU
> 00 C0 00 00 13
< 6F 11 84 09 A0 00 00 00 62 03 01 08 01 A5 04 9F 65 01 FF
< 90 00
> APDU
> 00 A4 04 00 02 3F 00
< 6A 82
> APDU
> A0 A4 04 00 02 3F 00
< 6E 00
正如你在上面看到的,我都失败了,我只能找到 ISD 的 AID。
我也尝试使用 GlobalPlatformPro 工具列出内容,但该卡似乎不支持 Initial Update APDU 命令:
C:\Users\User\Desktop\today>java -jar gp.jar -visa2 -key 47454D5850524553534F53414D504C45 -unlock -list -v -d -i
# Detected readers from SunPCSC
[*] RTP CCID USB Reader 0
SCardConnect("RTP CCID USB Reader 0", T=*) -> T=0, 3B9E94801F4280310073BE211066545953044C25CF
SCardBeginTransaction("RTP CCID USB Reader 0")
Reader: RTP CCID USB Reader 0
ATR: 3B9E94801F4280310073BE211066545953044C25CF
More information about your card:
http://smartcard-atr.appspot.com/parse?ATR=3B9E94801F4280310073BE211066545953044C25CF
A>> T=0 (4+0000) 00A40400 00
A<< (0019+2) (249ms) 6F118409A00000006203010801A5049F6501FF 9000
Auto-detected ISD AID: A00000006203010801
***** Card info:
A>> T=0 (4+0000) 80CA9F7F 00
A<< (0000+2) (73ms) 6A86
GET DATA(CPLC) returned SW: 6A86
NO CPLC
***** CARD DATA
A>> T=0 (4+0000) 80CA0066 00
A<< (0000+2) (81ms) 6E00
NO CARD DATA
***** KEY INFO
A>> T=0 (4+0000) 80CA00E0 00
A<< (0000+2) (82ms) 6E00
A>> T=0 (4+0000) 00CA00E0 00
A<< (0000+2) (60ms) 6E00
GET DATA(Key Information Template) not supported
A>> T=0 (4+0008) 80500000 08 FE44F8E8DF60349B 00
A<< (0000+2) (61ms) 6D00
pro.javacard.gp.GPException: INITIALIZE UPDATE failed SW: 6D00
at pro.javacard.gp.GlobalPlatform.check(GlobalPlatform.java:1092)
at pro.javacard.gp.GlobalPlatform.openSecureChannel(GlobalPlatform.java:398)
at pro.javacard.gp.GPTool.main(GPTool.java:371)
C:\Users\User\Desktop\today>
我想知道怎么了?如何在这张 SIM 卡上安装 java 卡小程序?
请注意,我已经成功地使用了 Java Card,但我对这些 SIM 卡完全感到困惑。我很感激任何人都可以对这个问题有所了解。 问候。
【问题讨论】:
-
你的卡支持SCP02吗??
-
我不知道。我找不到文件。这是我们的网络运营商用于电信的同一张 SIM 卡。
-
@AnuragSharma 有没有办法在没有文件的情况下检查它?
-
对不起,我不知道,但据我所知,您在初始化更新命令时说 0x6D00,这意味着它不受支持,
-
@AnuragSharma BTW,我需要在 SIM 卡上编写和上传应用程序有哪些要求? (Suck as Keys? APIs? ...) 有没有免费的工具,比如 GlobalPlatformPro 工具?我可以使用相同的工具还是需要其他工具?
标签: gsm javacard sim-card globalplatform gemalto