符合PBOC标准的CPU卡,要求在MF下拥有一个目录基本文件(DIR),该文件用于指示目录结构。
选择MF后,卡片的应答如下:
Tag: 6F 15 84 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 03 88 01 01 [90 00]
该应答为嵌套的TLV格式的可变长记录,具体解释如下:
6F:文件控制信息模板的记录标识
15:文件控制信息模板的记录长度(其后共有数据21字节,十六进制为15)
84 0E...01 01:记录数据,共计21字节
上述的21字节记录数据中:
84:DF名称的记录标识
0E:DF名称的记录数据长度(14字节)
31 50...30 31:14字节的记录数据,也就是DF(MF)的名称,是“1PAY.SYS.DDF01”的ASCII码。
A5:文件控制信息专用模板的记录标识
03:文件控制信息专用模板的记录数据长度(3字节)
88 01 01:文件控制信息专用模板的记录数据(3字节)
上述的3字节记录数据中:
88:DIR短文件标识符的记录标识
01:DIR短文件标识符的记录数据长度
01:DIR的段文件标识符
由于常见的CPU卡(如FM1208)在出厂时已将MF固化,因此MF下指示目录结构的基本文件(DIR)的短文件标识符必须为01,文件标识符为0001。
DIR为可变长记录文件,每条记录均应采用TLV格式。
如果MF下只有一个ADF(应用目录文件),则DIR的记录也只有一条。
读取DIR的第一条记录:
Rdr: 00 B2 01 0C 00
Tag: 61 11 4F 09 AA AA AA AA AA AA AA AA AA 50 04 50 42 4F 43 [90 00](以上数据来源于某城市早期发行的地铁卡)
读卡器发送APDU的P2为0C(二进制00001100),其中P2的低3位始终为100,高5位不全为0则表示短文件标识符(00001)。
卡片的应答数据为TLV格式,具体解释如下:
61:可变长记录标识(Tag)
11:可变长记录数据长度(17字节,十六进制为11)
4F...43:记录数据共计17字节
4F:应用目录文件ADF名称的记录标识
09:应用目录文件名称的记录数据长度(9字节)
AA...AA:应用目录文件ADF名称的记录数据(9字节,也就是ADF的名称)
50:PBOC的记录标识
04:PBOC的记录数据长度(4字节)
50 42 4F 43:“PBOC”四个字母的ASCII码