4-SIM数据交互之-A4(SELECT)

A4-SELECT

A4即select(选择)文件路径,该指令是一切指令的起始,不管是后面的C0/B0/B2/F2等都是在A4的基础上进行判断的。因为只有选择了文件的路径后才能取得该文件里面的内容。

A4命令格式如下:

格式 定义
CLA 00-USIM/A0-SIM
INS ‘ A4’
P1 选择控制 见下表
P2 选择选项 见下表
L c 字段 空或后续数据字段的长度
数据字段 文件标识符,DF名称,或路径,与P1的值相关
L e 字段 空或在响应时期望的数据最大长度
b8 b7 b6 b5 b4 b3 b2 b1 P1含义
0 0 0 0 0 0 0 0 选择 DF, EF或MF,通过文件标识符
0 0 0 0 0 0 0 1 选择当前DF的子DF
0 0 0 0 0 0 1 1 选择当前DF的父DF
0 0 0 0 0 1 0 0 通过DF名称选择应用-参见注解
0 0 0 0 1 0 0 0 以MF为起始,路径选择
0 0 0 0 1 0 0 1 以当前DF为起始,路径选择

上面的这么多种方式,最常使用的P1是0x00和0x80

b8 B7 b6 b5 b4 b3 b2 b1 P2含义
- X X - - - - - 应用进程控制,参见注解2
- 0 0 - - - - - - 激活/重置
- 1 0 - - - - - - 终止
0 - - 0 0 1 0 0 要求返回 FCP 模板
0 - - 0 1 1 0 0 无数据返回
- - - - - - X X 按照AID选择
- - - - - - 0 0 - 第一次或者仅一次出现的
- - - - - - 0 1 - 最后一个找到的
- - - - - - 1 0 - 下一个
- - - - - - 1 1 - 前一个

最常使用的P2是0x04

P1为0x00时,表示是在当前路径的基础上进行选择的文件,所以如果要选择某个DF下面的EF,必须先进入DF后才可以选择EF

1.正常读取

ICCID:3F00->7FE2

=>00 A4 00 04 02
<=A4
=>3F 00
<=61 2F
=>00 A4 00 04 02 
<=A4
=>2F E2
<=61 19

IMSI: 3F00->7F20->6F07

=>00 A4 00 04 02
<=A4
=>3F 00
<=61 2F
=>00 A4 00 04 02 
<=A4
=>7f 20
<=61 1a
=>00 A4 00 04 02
<=A4
=>6F 07
<=61 18

直接选择法,IMSI:7F206F07

=>00 A4 08 04 04
<=A4
=>7F 20 6F 07
<=61 18

2.错误路径,文件找不到

IMSI: 3F00->6F07

=>00 A4 00 04 02
<=A4
=>3F 00
<=61 2F
=>00 A4 00 04 02
<=A4
=>6F 07
<=6A 82

直接选择法,IMSI:6F07

=>00 A4 08 04 02
<=A4
=>6F 07
<=6A 82

你可能感兴趣的:(4-SIM数据交互之-A4(SELECT))