zoukankan      html  css  js  c++  java
  • 社保系列2《文件系统》

    卡片允许在可用空间内建立自己的文件系统。支持多层目录结构。在同层目录中文件不能有相同的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找出本地特有的或非社会保障应用的专用选择方式),但不在本规范范围之内。


    文/闫鑫原创   转载请注明出处http://blog.csdn.net/yxstars/article/details/7351643


    Meet so Meet. C plusplus I-PLUS....
  • 相关阅读:
    kafka 0.8.x producer Example(scala)
    Google V8扩展利器发布:v8-native-binding-generator
    beyond compare秘钥被禁
    STL算法之find
    十条nmap常用的扫描命令
    cgdb UTF-8乱码
    OpenWrt笔记
    openwrt hotplug
    git常用操作
    c99标准的restrict关键字
  • 原文地址:https://www.cnblogs.com/iplus/p/4467167.html
Copyright © 2011-2022 走看看