MF:master file 主控文件
DF:directory file 目录文件
EF:elementary file 基本文件
以上几种文件均以数据块形式存储在EEPROM中。
组成形式:
eg:
MF-----------EF
|
---------------------------
| | |
ISF EF DF
|
----------------
| |
ISF EF
MF:每个CPU卡只有一个,用于存储卡的控制信息与管理信息。复位后作为当前文件,只有文件头。
DF:只有文件头,存放目录的管控信息。
EF:有文件头和文件体。用来存放用户数据或密钥。
DF/EF必须在MF下创建,每个DF包含多少DF/EF,包含下级目录的文件为DDF,不包含的为ADF(应用数据文件)
*文件头:包含文件类型,标识符,主体大小,权限,校验等信息
EF文件分为透明二进制文件与记录文件
二进制文件:以数据块或文件偏移访问
记录文件:分为三种,定长记录文件,变长记录文件,循环记录文件(按一条条记录访问)定长记录文件:每条记录长度相同,追加记录时,记录号顺序递增。比如第一次记录,记录号为1,第二次记录,记录号为2.
循环记录文件:固定长度记录的环形文件。比如第一次记录,记录号为1,第二次记录,记录号为1,上次记录的记录号为2,依次类推,写满后,若再次记录,则覆盖第一次最原始的记录号,且当前记录号仍为1.
变长记录文件:写记录时可变,数据以记录为单位存储。更新记录时,新记录长度必须与卡中原有记录长度相同。其格式为TLV。
还有一个比较重要的KEY文件,这是一个基本文件,用来存放口令密钥,外部认证密钥,DES运算密钥,每个密钥都是TLV格式。
KEY文件每个目录下有且只有一个,且最先被创建。
*文件标识 FID (FFFF不能用作标识)
*短文件标识 SFI
MF的FID为 3F00
COS文件操作
建立文件 CREATE
选择文件 SELECT
读二进制文件 READ BINARY
读记录文件 READ RECORD
写文件 WRITE …
*选择文件的方式
显性选择:select,通过目录名称或FID选择
隐性选择:读写时用SFI指出要访问的文件DF文件—-显性选择
EF文件—–显性选择或隐性选择