卡片同意在可用空间内建立自己的文件系统。支持多层文件夹结构。在同层文件夹中文件不能有同样的ID(标识符)。
数据文件里数据元以记录方式或二进制方式存储,文件结构及引用方式由文件的用途决定。除文件夹文件外,数据文件的内容和布局在《社会保障(个人)卡规范》第6部分:应用数据结构中说明,也可由发卡方补充定义。
1. 文件类型
三种专用文件(DF)类型:
Ø MF:根文件夹,是整个文件系统的根,同属应用环境类。MF下能够有EF(基本文件)、SF(安全文件)、DDF(文件夹文件)、ADF(应用文件);
Ø DDF:文件夹文件,用于定义一个应用环境,它是应用的集合。DDF下能够有ADF、子DDF、EF、SF、公钥文件和私钥文件等结构。
Ø ADF:应用文件,用于定义详细应用。ADF下能够有EF、SF、公钥文件和私钥文件。
一个AEF包括有一个或多个原始BER-TLV数据对象(记录结构的AEF),或一个非结构化的纯数据元(透明结构的AEF)。在选择了某一应用后,AEF既能通过其文件标识符进行查询,也能够通过其短文件标识符(SFI)进行查询。记录结构的AEF具有例如以下属性:记录的长度是固定的或是可变的;记录的组织结构是线形结构或循环结构。
四种基本文件(EF)类型:
Ø 透明文件:文件数据是通过连续空间中的字节地址进行存取。
Ø 记录文件:数据以固定长度格式记录在文件里,文件内最多能够容纳255条记录。以明文方式存取时,最大记录长度能够为255个字节。记录文件有下面几种形式:
1) 线性定长记录文件:同一文件内的全部记录都是等长度的。
2) 线性变长记录文件:同一文件内的每一个记录的长度能够不相等。
3) 循环定长记录文件:同一文件内的全部记录都是等长度的。支持对文件里的记录循环存取。
Ø 交易文件:该类文件为特定格式文件。通过交易命令对这类文件进行操作。 交易文件有下面几种形式:
1) 个人帐户文件:完毕帐户划入和医疗消费交易。运行帐户划入交易前须提交用户口令。适用于社保环境。
2) 电子存折文件:完毕圈存、消费等交易。运行交易命令前须提交用户口令。适用于金融环境。
3) 电子钱包文件:完毕圈存和消费交易。运行圈存交易前须提交用户口令。适用于金融环境。
Ø 安全文件类型(SF):
1) 安全文件:该文件仅仅能写入不能读出。文件内可存放密钥或口令。
2. 文件查询
按照其类型,文件能够通过文件名称、文件标识符或SFI进行查询。
1) 文件名称查询:卡中的不论什么ADF或DDF可通过其DF名查询,ADF的DF名相应其AID,每一个DF名在给定的卡中应是唯一的。
2) 文件标识符查询:卡中的不论什么ADF、DDF或AEF可通过其文件标识符查询,每一个DF的文件标识符在给定的卡中应是唯一的,AEF的文件标识符在一个给定的应用中必须是唯一的。
3) SFI查询:SFI用于选择AEF。对给定应用中的不论什么AEF,能够通过SFI(5位代码,取值范围从1~30)查询。SFI的编码在每一个用到它的命令中描写叙述。 在一个给定的应用中SFI应是唯一的。专用SFI的使用由应用决定。
3. 文件夹文件
社会保障系统文件夹文件是一个线性文件,用5到15的短文件标识符(SFI)标识。该文件夹文件附属于DDF,文件夹文件的SFI包括在DDF文件控制信息中。文件夹文件能够使用“READRECORD”命令进行读取。文件夹文件里一个记录能够包括几个入口地址,但一个入口地址不能跨越多个记录存储。社会保障系统文件夹文件的每个入口地址都是一个应用模板(61标记)。
在IC卡中社会保障系统外的其它文件夹是可选的,且不限制它们存在的数量。当中每一个文件夹的位置由包括在每一个DDF中的FCI的文件夹SFI数据对象指定。假设不存在文件夹文件,则觉得社会保障卡中包括了《社会保障(个人)卡规范》所定义的全部应用。
DDF文件夹入口地址格式例如以下:
标志 |
长度 |
值 |
存在状态 |
‘4F’ |
5-16 |
DDF名称 |
M |
ADF文件夹入口地址格式例如以下:
标志 |
长度 |
值 |
存在状态 |
‘4F’ |
5-16 |
ADF名称(AID) |
M |
‘50’ |
1-16 |
应用标签 |
M |
终端能够通过使用社保环境文件夹文件来确定卡片所支持的应用。终端正确使用社保文件夹文件的过程例如以下:
1) 终端进入社会保障系统环境后,假设文件夹文件不存在,转至步骤5);假设文件夹文件存在,则进入文件夹文件。
2) 终端从第一条记录開始,连续读文件夹中的全部记录,直到卡返回‘6A83’,表示所需记录序号已不存在。在运行“READ RECORD”命令查找第一个记录时,假设卡回送SW1 SW2=‘6A83’,则表示文件夹为空,转至步骤5)。
3) 假设文件夹中某个ADF名与终端支持的一个应用名相符,则将该应用列入终于应用选择的“候选名单”中。
4) 假设文件夹中出现一个指向DDF的入口地址,且该DDF的名称至少与一个终端所支持的AID的前几位匹配(比如:一个名为D156123456的DDF可与一个名为D15612345678的AID匹配),则终端选择该DDF。使用所选DDF的文件控制信息(FCI)中的文件夹短文件标识符(SFI)读出文件夹并按步骤3处理,之后终端继续回到上一个文件夹处理。
5) 当终端处理完社会保障系统环境文件夹的列表后,全部可以按此方式找到的ADF就确定了,查找完成。
6) 终端也能够採用其它方式寻找卡内其它的专用应用(比如用AID找出本地特有的或非社会保障应用的专用选择方式),但不在本规范范围之内。
文/闫鑫原创