对于应用初始化是整个借贷记应用流程中必须存在的一个步骤,下面从卡片、终端以及非接触方式三个方面分别介绍应用初始化的过程和相关数据要求:
1.借记/贷记卡片规范中对于应用初始化的要求。
在应用初始化处理中,终端通过发送获取处理选项(GPO)命令通知卡片交易处理开始。在命令中,终端提供给卡片在处理选项数据对象列表(PDOL)中请求的数据元。PDOL(—个数据元标签和长度的列表)是在应用选择处理中由卡片返回给终端的可选数据项。
卡片对GPO命令的响应信息包括Aff和AFL。
AIP列出了交易在处理过程中执行的功能;
AFL列出交易需要读出的数据存放的短文件标识符、记录号、记录个数以及脱机数据认证需要的静态签名数据的存放位置。
(1)卡片数据。
应用初始化处理使用的卡片数据在表2-10中列出。
表2-10应用初始化——卡片数据
(2)终端数据。
在应用初始化处理中使用的终端数据在表2-11中列出。
表2-11应用初始化——终端数据
(3)应用初始化命令-获取处理选项(GetProcessingOptions,GPO)。
终端使用获取处理选项(GPO)命令通知卡片交易开始。
命令中包含卡片在PDOL中列出的终端数据元的值部分,PDOL是卡片在应用选择阶段返回的可选数据。
卡片响应数据内容为AIP和AFL。
AIP列出了交易在处理过程中执行的功能;
AFL列出交易需要的数据存放的短文件标识符、记录号、记录IC卡复制个数以及脱机数据认证需要的静态签名数据的存放位置。
(4)GPO命令编码介绍如下:
定义和范围:
获取处理选项(GPO)命令用来启动1C卡内的交易。
IC卡的响应报文中包含应用交互特征(AIP)和应用文件定位器(AFL)。命令报文:
获取处理选项(GPO)命令报文根据表2-12编码。
表2-12获取处理选项(GPO)命令报文
命令报文的数据域:
命令报文的数据域根据IC卡提供的处理选项数据对象列表(PDOL)编码。PDOL通过标签“83”标记。当IC卡没有提供数据对象列表时,这个模板的长度域设置为“0”。否则,这个模板的数据长度域的值等于传输给IC卡的数据对象的值域的总长度。
响应报文的数据域:
响应报文的数据域包含一个BER-TLV编码数据对象。
这个数据对象需要按照下列格式编码:
响应报文中的数据对象是一个标签为“80”的基本数据对象。数据域由如下表所示的应用交互特征(AIP)和应用文件定位器(AFL)的值域连接而成,
各数据对象之间没有分隔符(见表2-13)。
表2-13GPO响应报文数据域格式
应用交互特征定义了可以被IC卡中的应用支持的功能。
AFL包括一个不含有分隔符的由文件与记录组成的列表。
响应报文返回的处理状态:
“9000”编码表示命令成功执行。
(5)应用初始化的处理流程。
卡片收到终端发送的获取处理选项(GPO)命令后,卡片:
步骤1:如果卡片支持自定义限制检查并且处理选项命令中包括PDOL中指定的终端数据,卡片执行自定义的限制检查。如果限制检查不通过,卡片响应“使用条件不满足”(SW1SW2=“6985”)提示终端将当前应用从候选列表中删除并返回应用选择步骤选择另一个应用。
步骤2:决定要读取的文件记录,文件位置,建立AFL。针对交易的不同情况可以返回不同AFL和AIP。
步骤3:如果自定义限制检查通过,卡片:
ATC加1,如果此时ATC达到65535,则卡片应永久锁定应用;
密文信息数据(CID)置零;
卡片验证结果(CVR)置零(长度指示位除外);
卡片返回AIP和AFL。
图2-2显示了应用初始化处理流程
图2-2应用初始化流程
IC借记/贷记终端规范中对于应用初始化的要求:
终端发送到卡的GP0命令包括PDOL指定的所有终端数据元。如果卡片支持PDOL,则应用选择时PDOL会被包含在SELECT响应里。如果卡片不允许执行所选择的应用,终端就退出当前应用处理,并返回应用选择过程再选择另一个应用。
(1)卡片数据。
表2-14 卡片数据
(2)终端数据。
终端根据PDOL所定义的内容提供相应的终端数据给卡片。
(3)命令
终端通过获取处理选项(GPO)命令通知卡片交易开始。命令数据为PDOL指定的终端数据。卡片在命令响应中按格式1返回AP和AFL。
(4)处理流程。
终端读取所选应用的SELECT命令返回的包含在FI中的PDOL。终端处理PDOL,根据PDOL的处理规则填入终端数据。终端向卡片发送GPO(获取处理选项)命令,将处理PDOL得到的终端数据作为命令数据以TLⅤ格式(标签“83”)送给卡片。如果PDOL不存在,则命令数据域为“8300”。如果卡片返回成功(SW1SW2=“9000”),终端读取AIP和AFL,然后进行后面的读应用数据处理。如果卡片返回“6985”,表明卡片不支持该应用,终端应从本次交易的应用候选列表中删除该应用,返回到应用选择过程重新选择应用。
应用初始化流程如图2-3所示。初始化流程(终端)
图2-3应用的初始化流程