CN111091379B - 一种对智能卡分段操作的实现方法及*** - Google Patents

一种对智能卡分段操作的实现方法及*** Download PDF

Info

Publication number
CN111091379B
CN111091379B CN201911360758.5A CN201911360758A CN111091379B CN 111091379 B CN111091379 B CN 111091379B CN 201911360758 A CN201911360758 A CN 201911360758A CN 111091379 B CN111091379 B CN 111091379B
Authority
CN
China
Prior art keywords
card
terminal
record
application file
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911360758.5A
Other languages
English (en)
Other versions
CN111091379A (zh
Inventor
陆舟
于华章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feitian Technologies Co Ltd
Original Assignee
Feitian Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Feitian Technologies Co Ltd filed Critical Feitian Technologies Co Ltd
Priority to CN201911360758.5A priority Critical patent/CN111091379B/zh
Publication of CN111091379A publication Critical patent/CN111091379A/zh
Application granted granted Critical
Publication of CN111091379B publication Critical patent/CN111091379B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/24Credit schemes, i.e. "pay after"

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种对智能卡分段操作的实现方法及***,该方法包括:终端判断卡片支持分段操作后,向卡片读取指定扩展应用文件记录,根据终端操作状态和指定扩展应用文件记录中的记录状态进行操作,得到第一操作结果,对指定的扩展应用文件记录进行更新生成更新的扩展应用文件记录,并将第一操作结果和更新的扩展应用文件记录发送给卡片,卡片根据第一操作结果对卡片数据和指定的扩展应用文件记录进行更新后将验证信息发送给终端,终端对卡片的合法性进行验证,当验证结果证成功后提示操作成功。

Description

一种对智能卡分段操作的实现方法及***
技术领域
本发明涉及智能卡领域,特别涉及一种对智能卡分段操作的实现方法及***。
背景技术
随着科技的不断发展,越来越多的行业使用智能卡作为支付公具,安全、快速、脱机支付的特点收到收费者的青睐。随着行业的发展,对脱机快速支付应用提出了新的需求,在分时、分段计费的方式下,持卡人预先并不知道本次消费的金额,随着消费动作结束时,根据环境参数计算出消费金额,再进行扣款。典型的应用场景是应用在分段计费的地铁公交、高速公路和停车场。而现有的标准智能卡的工作方法无法满足上述应用场景的需求。
发明内容
为解决以上技术问题,本发明提供了一种对智能卡分段操作的实现方法及***。
本发明提供了一种对智能卡分段操作的实现方法,包括:
步骤1,终端向卡片发送选择应用的指令;
步骤2,卡片向终端返回选择应用的响应数据;
步骤3,终端根据选择应用的响应数据判断卡片是否支持分段操作,如果是,向卡片发送读取指定扩展应用文件的指令,执行步骤4,如果否,所述终端提示操作失败;
步骤4,卡片向终端返回指定扩展应用文件记录;
步骤5,终端判断终端操作状态,当终端判断终端操作状态为进站状态时,执行步骤6,当终端判断终端操作状态为出站状态时,执行步骤7;
步骤6,终端判断指定扩展应用文件记录中的记录状态是否为出站状态,如果是,终端将第一预设值计为第一操作结果,执行步骤9,如果否,终端提示操作失败;
步骤7,终端判断指定扩展应用文件记录中的记录状态是否为进站状态,如果是,执行步骤8,如果否,终端提示操作失败;
步骤8,终端根据终端站点编号和指定扩展应用文件记录中的记录站点编号进行计算,得到第一操作结果;执行步骤9;
步骤9,终端根据第一操作结果组成获取处理选项命令,并将获取处理选项命令发送给卡片;
步骤10,卡片根据卡片数据和获取处理选项命令中的第一操作结果判断是否为脱机操作批准,如果是,则将第一操作结果写入卡片缓存区,执行步骤11,如果否,直接执行步骤11;
步骤11,卡片根据脱机操作批准的判断结果生成获取处理选项命令的响应,并将获取处理选项命令的响应发送给终端;
步骤12,终端判断获取处理选项命令的响应中的判断结果是否为脱机操作批准,如果是,执行步骤13,如果否,终端提示操作失败;
步骤13,终端根据终端操作状态设置指定扩展应用文件记录中的记录状态,根据终端的站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新设置的记录状态和记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令;
步骤14,终端将更新扩展数据缓存命令发送给卡片;
步骤15,卡片将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片缓存区,生成更新扩展数据缓存命令的响应,并将更新扩展数据缓存命令的响应发送给终端;
步骤16,终端向卡片发送读取验证信息记录的命令;
步骤17,卡片根据读取验证信息记录的命令读取验证信息记录,用卡片缓存区中的更新的扩展应用文件记录替换卡片中的指定扩展应用文件记录,根据卡片缓存区中的第一操作结果更新卡片数据,将验证信息记录发送给终端;
步骤18,终端根据验证信息记录对卡片的合法性进行验证,如果验证成功,终端提示操作成功,如果验证失败,终端提示操作失败。
一种对智能卡分段操作的实现方法,包括:
步骤A1,终端向卡片发送选择应用的指令;
步骤A2,卡片向终端返回选择应用的响应数据;
步骤A3,终端根据选择应用的响应数据判断卡片是否支持分段操作,如果是,向卡片发送读取指定扩展应用文件的指令,执行步骤A4,如果否,终端提示操作失败;
步骤A4,卡片向终端返回指定扩展应用文件记录;
步骤A5,终端判断指定扩展应用文件记录中记录的状态,如果记录状态是上车状态,则执行步骤A7;如果记录状态是下车状态,则执行步骤A6;
步骤A6,终端将第一预设值计为第一操作结果,执行步骤A9;
步骤A7,终端判断终端站点编号与指定扩展应用文件记录中的记录站点编号是否相同,如果是,则终端提示操作失败;如果否,执行步骤A8;
步骤A8,终端根据终端站点编号和指定扩展应用文件记录中的记录站点编号进行计算,得到第一操作结果,执行步骤A9;
步骤A9,终端根据第一操作结果组成获取处理选项命令,并将获取处理选项命令发送给卡片;
步骤A10,卡片根据卡片数据和获取处理选项命令中的第一操作结果判断是否脱机操作批准,如果是,将第一操作结果写入卡片缓存区,执行步骤A11,如果否,执行步骤A11;
步骤A11,卡片根据脱机操作批准的判断结果生成获取处理选项命令的响应,并将获取处理选项命令的响应发送给终端;
步骤A12,终端判断获取处理选项命令的响应中的脱机操作批准的判断结果是否为脱机操作批准,如果是,执行步骤13,如果否,终端提示操作失败;
步骤A13,终端更改指定扩展应用文件记录中的记录状态,根据终端站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新更改的记录状态和设置的记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令;
步骤A14,终端将更新扩展数据缓存命令发送给卡片;
步骤A15,卡片将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片缓存区,生成更新扩展数据缓存命令的响应,并将更新扩展数据缓存命令的响应发送给终端;
步骤A16,终端向卡片发送读取验证信息记录的命令;
步骤A17,卡片根据读命令读取验证信息记录,将卡片缓存区中的更新的扩展应用文件记录替换卡片中的指定扩展应用文件记录,根据卡片缓存区中的第一操作结果更新卡片数据,将验证信息记录发送给终端;
步骤A18,终端根据验证信息记录对卡片的合法性进行验证,如果验证成功,终端提示操作成功,如果验证失败,终端提示操作失败。
一种对智能卡分段操作的***,包括:终端和卡片,终端包括:
第一发送模块,用于向卡片发送选择应用的指令;还用于当第一判断模块根据第二发送模块向终端返回选择应用的响应数据判断判断卡片支持分段操作后,向卡片发送读取指定扩展应用文件的指令;还用于将组织模块组成的组成获取处理选项命令发送给卡片;还用于将第一生成模块生成的更新扩展数据缓存命令发送给卡片;还用于向卡片发送读取验证信息记录的命令;
第一判断模块,用于根据选择应用的响应数据判断卡片是否支持分段操作;
第二判断模块,用于判断终端操作状态;如果判断终端操作状态为进站状态,还用于判断指定扩展应用文件记录中的记录状态是否为出站状态;如果判断终端操作状态为出站状态时,还用于判断指定扩展应用文件记录中的记录状态是否为进站状态;还用于判断获取处理选项命令响应中的判断结果是否为脱机操作批准;
计算模块,用于当第二判断模块判断终端操作状态为进站状态时,判断指定扩展应用文件记录中的记录状态为出站状态时,将第一预设值计为第一操作结果;还用于当第二判断模块判断终端操作状态为出站状态,判断指定扩展应用文件记录中的记录状态为进站状态时,根据终端站点编号和读取的指定扩展应用文件记录中的记录站点编号进行计算,得到第一操作结果;
提示模块,用于当第二判断模块判断终端操作状态为进站状态,判断指定扩展应用文件记录中的记录状态为非出站状态时,提示操作失败;还用于当第二判断模块判断终端操作状态为出站状态,判断指定扩展应用文件记录中的记录状态为非进站状态时,提示操作失败;还用于当第一判断模块根据所述选择应用的响应数据判断卡片不支持分段操作时,提示操作失败;还用于第一验证模块验证成功后,提示操作成功,还用于第一验证模块验证失败后,提示操作失败;
组织模块,用于根据第一操作结果组成获取处理选项命令;
第一生成模块,用于根据终端操作状态设置指定扩展应用文件记录中的记录状态,根据终端的站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新设置的记录状态和记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令;;
第一验证模块,用于根据验证信息记录对卡片的合法性进行验证。
卡片包括:
第二发送模块,用于向终端返回选择应用的响应数据;还用于当第一发送模块向所述卡片发送读取指定扩展应用文件的指令后向终端返回指定扩展应用文件记录;还用于将第二生成模块生成的获取处理选项命令的响应发送给终端;还用于将更新扩展数据缓存命令的响应发送给终端;用于将读取模块读取的验证信息记录发送给终端;
第三判断模块,用于根据卡片数据和获取处理选项命令中的第一操作结果判断是否脱机操作批准;
写入模块,用于当第三判断模块判断脱机操作批准时,将第一操作结果写入卡片缓存区;还用于将将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片缓存区;
第二生成模块,用于根据第三判断模块的脱机操作批准的判断结果生成获取处理选项命令响应;还用于生成更新扩展数据缓存命令的响应;
读取模块,用于根据读命令读取验证信息记录;
替换更新模块,用于将卡片缓存区中的更新的扩展应用文件记录替换卡片中的指定扩展应用文件记录,根据卡片缓存区中的第一操作结果更新卡片数据。
一种对智能卡分段操作的***包括:终端和卡片,终端包括:
第一发送模块,用于向卡片发送选择应用的指令;还用于当第一判断模块根据第二发送模块向终端返回选择应用的响应数据判断判断卡片支持分段操作后,向卡片发送读取指定扩展应用文件的指令;还用于将组织模块组成的组成获取处理选项命令发送给卡片;还用于将第一生成模块生成的更新扩展数据缓存命令发送给卡片;还用于向卡片发送读取验证信息记录的命令;
第一判断模块,用于根据选择应用的响应数据判断卡片支持分段操作;
第二判断模块,用于判断指定扩展应用文件记录中记录状态,;如果记录状态为上车状态时,还用于判断终端站点编号与指定扩展应用文件记录中的记录站点编号是否相同;还用于判断获取处理选项命令响应中的判断结果是否为脱机操作批准;
计算模块,用于当第二判断模块判断记录状态为下车状态时将第一预设值计为第一操作结果;还用于当第二判断模块判断终端站点编号与指定扩展应用文件记录中的记录站点编号不相同时,,根据终端站点编号和读取的指定扩展应用文件记录中的记录站点编号进行计算,得到第一操作结果;
提示模块,用于当第二判断模块判断终端站点编号与指定扩展应用文件记录中的记录站点编号相同时,提示操作失败;还用于当第一判断模块根据选择应用的响应数据判断卡片不支持分段操作时,提示操作失败;还用于第一验证模块验证成功后,提示操作成功,还用于第一验证模块验证失败后,提示操作失败;
组织模块,用于根据第一操作结果组成获取处理选项命令;
第一生成模块,用于更改指定扩展应用文件记录中的记录状态,根据终端站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新更改的记录状态和设置的记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令;
第一验证模块,用于根据验证信息记录对卡片的合法性进行验证。
卡片包括:
第二发送模块,用于向终端返回选择应用的响应数据;还用于当所述第一发送模块向所述卡片发送读取指定扩展应用文件的指令后向终端返回指定扩展应用文件记录;还用于将第二生成模块生成的获取处理选项命令的响应发送给终端;还用于将更新扩展数据缓存命令的响应发送给终端;用于将读取模块读取的验证信息记录发送给终端;
第三判断模块,用于根据卡片数据和获取处理选项命令中的第一操作结果判断是否脱机操作批准;
写入模块,用于当第三判断模块判断脱机操作批准时,将第一操作结果写入卡片缓存区;还用于将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片缓存区;
第二生成模块,用于根据第三判断模块的脱机操作批准的判断结果生成获取处理选项命令响应;还用于生成更新扩展数据缓存命令的响应;
读取模块,用于根据读命令读取验证信息记录;
替换更新模块,用于将卡片缓存区中的更新的扩展应用文件记录替换卡片中的指定扩展应用文件记录,根据卡片缓存区中的第一操作结果更新卡片数据。
本发明的有益效果为:本发明提供了一种对智能卡分段操作的实现方法及***,实现了智能卡应用于分段扣费的应用场景中,使人们享受到了现代科技带了的生活便利。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的一种对智能卡分段操作的实现方法的流程图;
图2-1和图2-2为本发明实施例2提供的另一种对智能卡分段操作的实现方法的流程图;
图3为本发明实施例3提供的另一种对智能卡分段操作的实现方法的流程图;
图4-1和图4-2为本发明实施例4提供的另一种对智能卡分段操作的实现方法的流程图;
图5为本发明实施例5提供的一种对智能卡分段操作***的结构图;
图6为本发明实施例6提供的另一种对智能卡分段操作***的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供了一种对智能卡分段操作的实现方法,如图1所示,包括如下步骤:
步骤101,终端向卡片发送选择应用的指令;
步骤102,卡片向终端返回选择应用的响应数据;
步骤103,终端根据选择应用的响应数据判断卡片是否支持分段操作,如果是,向卡片发送读取指定扩展应用文件的指令,执行步骤104,如果否,所述终端提示操作失败;
步骤104,卡片向终端返回指定扩展应用文件记录;
步骤105,终端判断终端操作状态,当终端判断终端操作状态为进站状态时,执行步骤106,当终端判断终端操作状态为出站状态时,执行步骤107;
步骤106,终端判断指定扩展应用文件记录中的记录状态是否为出站状态,如果是,终端将第一预设值计为第一操作结果,执行步骤108,如果否,终端提示操作失败;
步骤107,终端判断指定扩展应用文件记录中的记录状态是否为进站状态,如果是,执行步骤108,如果否,终端提示操作失败;
步骤108,终端根据终端站点编号和读取的指定扩展应用文件记录中的记录站点编号进行计算,得到第一操作结果;执行步骤109;
步骤109,终端根据第一操作结果组成获取处理选项命令,并将获取处理选项命令发送给卡片;
步骤110,卡片根据卡片数据和获取处理选项命令中的第一操作结果判断是否脱机操作批准,如果是,则将第一操作结果写入卡片缓存区,执行步骤111,如果否,直接执行步骤111;
步骤111,卡片根据脱机操作批准的判断结果生成获取处理选项命令响应,并将获取处理选项命令的响应发送给终端;
步骤112,终端判断获取处理选项命令的响应中的判断结果是否为脱机操作批准,如果是,执行步骤113,如果否,终端提示操作失败;
步骤113,终端根据终端操作状态设置指定扩展应用文件记录中的记录状态,根据终端的站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新设置的记录状态和记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令;
步骤114,终端将更新扩展数据缓存命令发送给卡片;
步骤115,卡片将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片缓存区,生成更新扩展数据缓存命令的响应并将更新扩展数据缓存命令的响应发送给终端;
步骤116,终端向卡片发送读取验证信息记录的命令;
步骤117,卡片根据读取验证信息记录的命令读取验证信息记录,用卡片缓存区中的更新的扩展应用文件记录替换卡片中的指定扩展应用文件记录,根据卡片缓存区中的第一操作结果更新卡片数据,将验证信息记录发送给终端;
步骤118,终端根据验证信息记录对卡片的合法性进行验证,如果验证成功,终端提示操作成功,如果验证失败,终端提示操作失败。
在本实施例中,步骤107中,执行步骤108之前还包括,终端根据终端的时间判断指定扩展应用文件记录中的记录时间是否超时,如果是,执行步骤108’,如果否,执行步骤108;
步骤108’,终端将第二预设值计为第一操作结果,执行步骤109。
在本实施例中,步骤113中,终端根据终端操作状态设置指定扩展应用文件记录中的记录状态,根据终端的站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新设置的所述记录状态和所述记录站点编号生成更新的扩展应用文件记录,具体为:终端将指定扩展应用文件记录中的记录状态修改为终端操作状态,将指定扩展应用文件记录中的记录站点编号修改为终端的站点编号,根据重新设置的所述记录状态和所述记录站点编号生成更新的扩展应用文件记录。
在本实施例中,步骤103具体包括:终端判断选择应用的响应数据中分段操作指示符的值是否为支持分段操作的预设值后,如果是,向卡片发送读取指定扩展应用文件的指令,执行步骤104,如果否,终端提示操作失败。
在本实施例中,步骤110具体包括:卡片获取卡片数据,判断卡片数据是否大于第一操作结果,如果是,则判断结果为脱机操作批准,将第一操作结果写入卡片缓存区,执行步骤111,如果否,则判断结果为脱机操作未批准,直接执行步骤111。
在本实施例中,步骤102可以为:卡片向终端返回包括应用文件***列表的选择应用的响应数据;
步骤116为:终端根据应用文件***列表向卡片发送读取验证信息记录的命令。
在本实施例中,步骤117包括:卡片根据读取验证信息记录的命令读取验证信息记录,并根据应用文件***列表判断读取的验证信息记录是否为最后一条验证信息记录,如果是,卡片缓存区中的更新的扩展应用文件记录替换卡片中的指定扩展应用文件记录,根据卡片缓存区中的第一操作结果更新卡片数据,将验证信息记录发送给终端;如果否,等待终端向卡片发送读取验证信息记录的命令,返回步骤116。
在本实施例中步骤113具体包括:终端生成安全报文,终端根据终端操作状态设置指定扩展应用文件记录中的记录状态,根据终端的站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新设置的所述记录状态和所述记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录和安全报文生成更新扩展数据缓存命令;
步骤115具体为:卡片接收更新扩展数据缓存命令后,验证据更新扩展数据缓存命令中安全报文是否合法,如果是,卡片将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片缓存区,生成写入成功返回码,根据写入成功返回码生成更新扩展数据缓存命令的响应;如果否,生成写入失败返回码,根据写入失败返回码生成更新扩展数据缓存命令的响应;
步骤116之前还包括:终端判断更新扩展数据缓存命令的响应中的返回码是否为写入成功返回码,如果是,则执行步骤116,如果否,终端提示操作失败。
在本实施例中,步骤117中,根据卡片缓存区中的第一操作结果更新卡片数据为:将卡片数据中扣除第一操作结果。
在本实施例中,步骤108可以被替换为:
步骤108’,终端根据终端时间和读取的指定扩展应用文件记录中的记录时间进行计算,得到第一操作结果;执行步骤109。
步骤113具体为:终端根据终端操作状态设置指定扩展应用文件记录中的记录状态,根据终端时间设置指定扩展应用文件记录中的记录时间,根据重新设置的记录状态和记录时间生成更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令。
实施例2
本实施例提供了一种对智能卡分段操作的实现方法,如图2-1和图2-2所示,具体包括如下步骤:
步骤201,终端从应用候选列表中选择应用;
具体的,在本步骤中,终端从应用候选列表中选择AID为A000000632010106的应用;
步骤202,终端向卡片发送选择应用的指令;
具体的,在本步骤中,终端将选择的应用的应用标识(AID)发送给卡片。
具体的,在本步骤中,终端向卡片发送的选择应用的指令为:
00A4040008A000000632010106,其中AID为A000000632010106。
步骤203,卡片向终端返回选择应用的响应数据;
具体的,在本步骤中选择应用的响应数据中包括处理选项数据对象列表以及分段操作指示符。
其中,分段操作标识的标签为DF61;
具体的,在本步骤中处理选项数据对象列表必须包括终端的扩展应用操作指示位(CAPP操作指示位)。
其中,扩展应用操作指示位的标签为DF60;
具体的,在本实施例中,卡片向终端返回的选择应用的响应数据为:6F81868408A000000632010106A57A500A4D4F545F545F434153488701019F381EDF60019F66049F02069F03069F1A0295055F2A029A039C019F21039F37045F2D027A689F1101019F120A4D4F545F545F43415348BF0C319F4D020B0ADF4D020C0ADF610182DF112001131121FFFFFFFF013104910200000005403F010100000156110011210001009000
卡片返回数据中包含PDOL数据:9F38 1EDF60019F66049F02069F03069F1A0295055F2A029A039C019F21039F3704和分段操作标识:DF61 01 82。
步骤204,终端根据选择应用的响应数据判断卡片是否支持分段操作,如果是,执行步骤205,如果否,终端提示操作失败。
具体的,在本步骤中,终端判断选择应用的响应数据中分段操作指示符的值是否为表示支持分段操作的预设值,如果是,执行步骤205,如果否,终端提示操作失败。
具体的,在本实施例中,终端判断卡片向终端返回的选择应用的响应数据中DF61的值是否为01,如果是,执行步骤205,如果否,终端提示操作失败。
步骤205,终端向卡片发送读取指定扩展应用文件记录的指令;
具体的,在本步骤中,终端根据自身的预定设置将要读取的指定扩展应用文件记录的标识组成读取指定扩展应用文件记录的指令,将读取指定扩展应用文件记录的指令发送给卡片。
具体的,在本实施例中,终端要读取卡片中指定扩展应用文件记录为读取卡片中的1A文件记录2701;
终端根据要读取的指定扩展应用文件记录的标识组成读取指定扩展应用文件记录的指令为:80B400D0022701,其中2701为要读取的指定扩展应用文件记录的标识。
步骤206,卡片判断是否存在指定扩展应用文件记录,如果是,执行步骤207,如果否,卡片向终端返回错误的状态码,终端提示操作失败。
具体的,在本步骤中,卡片根据要读取的指定扩展应用文件记录的标识判断是否存在指定扩展应用文件记录,即卡片判断是否判断卡片中是否存在标识为指定扩展应用文件记录的标识的扩展应用文件记录,如果是,则执行步骤207,如果否,卡片向终端返回错误的状态码终端提示操作失败。
具体的,在本实施例中,卡片判断是否存在标识为2701的扩展应用文件记录,如果是,执行步骤207,如果否,卡片向终端返回错误的状态码,终端提示操作失败。
步骤207,卡片向终端返回指定扩展应用文件记录和正确的状态码。
具体的,在本实施例中,卡片向终端返回的指定扩展应用文件记录和正确的状态码为:
27017D01010000000000000000010131040000310400000000000000000000000000003104000000000001000000000000000031040000000011010000000000000000201907161555320000000000000000000000010011000000000000010000000100000000000000000000000000000000000000000000000000000000009000
其中,根据扩展应用文件记录的内容可知:记录状态为进站状态,即01表示进站状态,进站城市代码:3104,记录站点编号为3104000000000001,即进站站点,记录线路号为11,即进站线路编号;记录时间:20190716155532,即进站时间为2019年7月16日15点55分32秒,第一操作结果为:00000000,即0元,正确的状态码为:9000。
步骤208,终端判断终端自身的操作状态,当终端判断终端操作状态为进站状态时,执行步骤209,当终端判断终端操作状态为出站状态时,执行步骤210;
步骤209,终端判断指定扩展应用文件记录中的记录状态是否为出站状态,如果是,终端将第一预设值计为第一操作结果,执行步骤212;如果否,终端提示操作失败。
具体的,在本步骤中,第一预设值为0。
步骤210,终端判断指定扩展应用文件记录中的记录状态是否为进站状态,如果是,执行步骤211,如果否,终端提示操作失败。
在本实施例中,步骤210中,执行步骤211之前还可以包括,终端根据终端的时间判断指定扩展应用文件记录的记录时间是否超时,如果是,终端将第二预设值计为第一操作结果,执行步骤212,如果否,执行步骤211;
具体的,终端根据终端的时间判断指定扩展应用文件记录的记录时间是否超时具体包括:终端判断记录时间和终端的时间之间的差值是否大于或者等于第三预设值,如果是,则将第二预设值计为第一操作结果,执行步骤212,如果否,执行步骤211。
步骤211,终端根据终端站点编号和读取的指定扩展应用文件记录计算第一操作结果,执行步骤212;
在本实施例中,本步骤可以为:终端根据终端站点编号和读取的指定扩展应用文件记录中记录站点编号进行计算,得到第一操作结果。
具体的,在本实施例中,终端根据自身的设置得可知:终端站点编号为3104000000000009,线路编号为11,终端操作时间为20190716163538,即终端时间为2019年7月16日16点35分38秒,终端操作状态为:出站状态;在本步骤中,终端根据终端站点编号3104000000000009和读取的指定扩展应用文件记录中记录站点编号3104000000000001进行计算,得到第一操作结果000000000500,即第一操作结果为5元。
在本实施例中,根据不同的应用场景,本步骤还可以为:终端根据终端时间和读取的指定扩展应用文件记录中记录时间进行计算,得到第一操作结果。
步骤212,终端组成获取处理选项命令;
在本步骤中,终端根据第一操作结果组成获取处理选项命令。
在本实施例中,本步骤可以为:终端根据终端操作时间、扩展应用交易指示位和第一操作结果组成获取处理选项命令。
具体的,在本实施例中,本步骤为:终端根据处理选项数据对象列表,设置CAPP交易指示位DF60的值为01,
当步骤211中,第一操作结果为000000000500,终端操作时间为20190716163538,则在本步骤中,终端组成的获取处理选项命令为:
80A80000278325012800000000000000050000000000000001560000000000015619071600163538511E143000;
步骤213,终端将获取处理选项命令发送给卡片;
步骤214,卡片根据卡片数据和获取处理选项命令中的第一操作结果判断是否脱机操作批准,如果是,则将第一操作结果写入卡片缓存区,执行步骤215,如果否,直接执行步骤215;
具体的,在本步骤中,卡片接收获取处理选项命令后获取卡片实际可用的电子现金余额,即卡片数据,判断实际可用的电子现金余额是否大于第一操作结果并且获得判断结果,根据判断结果组成获取处理选项命令响应;
具体的,卡片从获取处理选项命令中得到第一操作结果并计算卡片的实际可用的电子现金余额;
具体的,在本步骤中,卡片判断实际可用的电子现金余额是否大于第一操作结果,如果是,获得批准脱机操作的判断结果,并将第一操作结果写入卡片缓存区,如果否,则获得拒绝脱机操作的判断结果;
具体的,如果判断结果为批准脱机操作,卡片根据批准交易的卡片验证结果的值、卡片中的应用文件***(AFL)列表和交易应用密文(TC)生成获取处理选项命令响应;如果判断结果为拒绝交易,卡片根据拒绝交易的卡片验证结果的值和生成应用认证密文(AAC)生成获取处理选项命令响应。
其中,交易应用密文(TC)是对第一操作结果、终端操作时间、终端编码以及批准交易的卡片认证结果的值使用与终端编码对应的预置的密钥按照预定的算法生成的。
应用认证密文(AAC)是对第一操作结果、终端操作时间、终端编码以及拒绝交易的卡片认证结果的值使用与终端编码对应的预置的密钥按照预定的算法生成的。
具体的,在本实施例的本步骤中,如果判断结果为批准脱机操作,则生成获取处理选项命令响应为:
7781DF82027C00940C0802030018010401200101009F360200069F2608B6F94888462EC40F9F101307010103900000010A010000009500D8C9474C570F3104910200000005403D40122209995F3401019F4B8180385A09EF374CD3FAD4E2EC434F99E77013177B8593027CDF9BD83079AAD5B09E86AE3855728B001DA8549FC155E2DFBC8E338FB83A1BD0BB101616465E720752AAFE007B318D8C97452851E029159E079B09E302F0B0AF08D46A33AA265A967F2D6AC826124408C7BF7F2666E017FFFECDAB506990ACF21B4A3278F050D95EA99F6C0200009F5D060000000095009000
其中,卡片验证结果:03900000,表示批准脱机操作,AFL为:940C080203001801040120010100,交易应用密文为:9F26 08B6F94888462EC40F。
步骤215,卡片根据脱机操作批准的判断结果生成获取处理选项命令响应,并将获取处理选项命令响应发送给终端;
步骤216,终端判断获取处理选项命令响应中的判断结果是否为脱机操作批准,如果是,执行步骤217,如果否,终端提示操作失败;
具体的,终端判断获取处理选项命令响应中卡片认证结果的值是否为03900000,如果是,则执行步骤217,如果否,终端提示操作失败。
步骤217,终端组织更新扩展数据缓存命令(Update CAPP data cache);
具体的,在本步骤中,终端根据终端操作状态设置指定扩展应用文件记录中的记录状态,根据终端的站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新设置的记录状态和记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令;
在本实施例中,当步骤211具体为:终端根据终端时间和读取的指定扩展应用文件记录中记录时间进行计算,得到第一操作结果时;
本步骤具体为:终端根据终端操作状态设置指定扩展应用文件记录中的记录状态,根据终端时间设置指定扩展应用文件记录中的记录时间,根据重新设置的记录状态和记录时间生成更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令。
在本实施例中,本步骤中,更新扩展数据缓存命令还可以包括安全报文;其中,安全报文用于卡片验证;具体的,终端根据存储在终端中与读取的指定扩展应用文件记录标识所对应的密钥使用预置的算法对更新的扩展应用文件记录进行加密运算,计算出相应的MAC值,将MAC值与更新的扩展应用文件记录组成安全报文;
具体的,在本实施例中,终端组织的更新扩展数据缓存命令为:
84DE00D08427017D0101000000000000000002023104310431040000000000003104000000000000310400000000000131040000000000093104000000001101310400000000230520190716155532201907161635380000050001021111000000000001000000000500000000000000000000000000000000000000000000000000000000A9C523A4;
其中,更新扩展数据缓存命令中的更新的扩展应用文件记录为:
27017D0101000000000000000002023104310431040000000000003104000000000000310400000000000131040000000000093104000000001101310400000000230520190716155532201907161635380000050001021111000000000001000000000500000000000000000000000000000000000000000000000000000000;
安全报文为:A9C523A4;
其中,更新的扩展应用文件记录是对读取的指定扩展应用文件记录进行修改得到的,其中更新的扩展应用文件记录中:2701表示读取的扩展应用文件记录的记录标识,即此记录标识未作修改,仍作为更新的扩展应用文件记录的记录标识,其中记录状态是按照终端操作状态进行设置,即将读取的指定扩展文件记录的记录状态修改为出站状态,即02表示出站状态,对记录时间进行了设置,将记录时间修改为终端的操作时间为20190716163538,表示出站时间为:2019年7月16日16点35分38秒,出站城市代码为3104,将记录站点编号按照终端站点编号进行了设置,将记录站点编号修改为3104000000000009,线路号为11,记录的第一操作结果重新进行了设置,将第一操作结果修改为00000500。
步骤218,终端将更新扩展数据缓存命令发送给卡片;
步骤219,卡片接收更新扩展数据缓存命令,生成更新扩展数据缓存命令响应;
在本步骤中,卡片接收更新扩展数据缓存命令后,验证更新扩展数据缓存命令中的安全报文是否合法,如果合法,卡片将更新扩展数据缓存命令中的更新的扩展应用文件记录写入卡片的缓存区,生成写入成功的返回码;如果验证失败,生成写入失败的返回码。
具体的,卡片接收到更新扩展数据缓存命令后,解析出更新的扩展应用文件记录和安全报文,卡片根据更新的扩展应用文件记录中的记录标识查找卡片中预置的与此标识对应的密钥,使用预置的算法对更新的扩展应用文件记录进行运算,得到运算结果,卡片判断运算结果是否与安全报文相同,如果是,卡片将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片缓存区,并生成写入成功返回码,根据写入成功返回码生成更新扩展数据缓存命令的响应,如果验证失败,生成写入失败的返回码,根据写入失败返回码生成更新扩展数据缓存命令的响应。具体的,在本实施例中,卡片将终端发送的更新扩展数据缓存命令中的更新的扩展应用文件记录:
27017D0101000000000000000002023104310431040000000000003104000000000000310400000000000131040000000000093104000000001101310400000000230520190716155532201907161635380000050001021111000000000001000000000500000000000000000000000000000000000000000000000000000000
写入卡片缓存区并生成写入成功的返回码:9000,并根据写入成功的返回码生成更新扩展数据缓存命令的响应:9000。
步骤220,卡片向终端发送更新扩展数据缓存命令的响应;
步骤221,终端判断更新扩展数据缓存命令的响应中的返回码是否为写入成功返回码,如果是,执行步骤222;如果否,终端提示操作失败;
具体的,在本实施例中,终端判断更新扩展数据缓存命令的响应中的返回码是否为9000,如果是,执行步骤222;如果否,终端提示操作失败。
步骤222,终端向卡片发送读取验证信息记录的命令;
在本步骤中,终端根据应用文件***列表向卡片发送读取验证信息记录的命令;
具体的,在本步骤中,终端根据应用文件***列表:94 0C
080203001801040120010100需要依次读取验证信息记录0102,0103,0303,0304和0401;
例如,终端向卡片发送读取验证信息记录0102的读命令为:00B2020C00;
步骤223,卡片根据读取验证信息记录的命令读取验证信息记录,并根据应用文件***列表判断读取的验证信息记录是否为最后一条验证信息记录,如果是,执行步骤224,如果否,卡片等待接收终端发送的读取验证信息记录的命令,当接收到读取验证信息记录的的读命令时返回步骤223;
步骤224,卡片将卡片缓存区中更新的扩展应用文件记录写入卡中,并根据缓存区中的第一操作结果更新卡片数据,执行步骤225;
具体的,在本步骤中,卡片根据卡片缓存区中的第一操作结果更新卡片数据具体为:将第一操作结果从卡片数据中扣除。
步骤225,卡片根据读取的验证信息记录生成读取验证信息记录的命令响应,将读取验证信息记录的命令响应发送给终端;
具体的,在本实施例中,步骤222中,终端向卡片发送读取验证信息记录的命令为:00B2020C00,则本步骤中,具体的卡片发送给终端的包含验证信息记录0102的读命令响应为:
7081FB9081F824DC50DFFFC248155A22AE69EF0D2BB7DA83BC31521AE2F3248AC6C23A066ECA0BA940442548705326947B9775F023C185B14748C124BBF9FAEED27F72D34C50F7FA687D25223F736AFE278F024F6E52B7F025C84F31D2B0B36BF32486B4DA11F75BEF5A7C8657B0F956C18DEC1F3715898676F631D0F228B05553AE1935E2D7008C6D3C4D1E4F89F1DCB22F76C091E58682262BD0B52275720F13330FEDA1223027E97E858ADBF63EA684EDEE78EB527FEEDF63650F4F4C208BCD5A1CA96EB819F1E694F12E65B5E0C5EC48B03720B4368DE49E3EBD4C4E5DBCEE4174316233F8A315A91968C053962F029D0EBC74DEB36B1F733E5B06F29000。
具体的,在本步骤中,如果卡片根据卡片的AFL列表判断读取到的验证信息记录0102不是最后一条验证记录,则等待终端向卡片发送读取验证信息记录的命令,返回步骤222;
依次类推,直到卡片接收到读取验证信息记录0401的读命令后,根据卡片的AFL列表判断验证信息记录0401为最后一条验证记录,则执行步骤225,具体的,步骤225为卡片根据验证信息记录0401生成验证信息记录的读命令响应并将读命令响应发送给终端。
步骤226,终端根据接收到验证信息记录的读命令响应对卡片的合法性进行验证,如果验证成功,则终端提示操作成功,如果验证失败,终端提示操作失败。
具体的,在本步骤中,终端根据接收到验证信息记录的读命令响应对卡片的合法性进行验证,判断验证是否成功,如果验证成功,则终端提示操作成功,如果验证失败,终端提示操作失败。
实施例3
本实施例提供了一种对智能卡分段操作的实现方法,如图3所示,包括如下步骤:
步骤301,终端向卡片发送选择应用的指令;
步骤302,卡片向终端返回选择应用的响应数据;
步骤303,终端根据选择应用的响应数据判断卡片是否支持分段操作,如果是,向卡片发送读取指定扩展应用文件的指令,执行步骤304,如果否,终端提示操作失败;
步骤304,卡片向终端返回指定扩展应用文件记录;
步骤305,终端判断指定扩展应用文件记录中的记录状态,如果记录状态是上车状态,则执行步骤307;如果记录状态是下车状态,则执行步骤306;
步骤306,终端将第一预设值计为第一操作结果,执行步骤309;
步骤307,终端判断终端站点编号与指定扩展应用文件记录中的记录站点编号是否相同,如果是,则终端提示操作失败;如果否,执行步骤308;
步骤308,终端根据终端站点编号和指定扩展应用文件记录中的记录站点编号进行计算,得到第一操作结果,执行步骤309;
步骤309,终端根据第一操作结果组成获取处理选项命令,并将获取处理选项命令发送给卡片;
步骤310,卡片根据卡片数据和获取处理选项命令中的第一操作结果判断是否脱机操作批准,如果是,将第一操作结果写入卡片缓存区,执行步骤311,如果否,执行步骤311;
步骤311,卡片根据脱机操作批准的判断结果生成获取处理选项命令的响应,并将获取处理选项命令的响应发送给终端;
步骤312,终端判断获取处理选项命令的响应中的判断结果是否为脱机操作批准,如果是,执行步骤313,如果否,终端提示操作失败;
步骤313,终端更改指定扩展应用文件记录中的记录状态,根据终端站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新更改的记录状态和设置的记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令;
步骤314,终端将更新扩展数据缓存命令发送给卡片;
步骤315,卡片将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片缓存区,生成更新扩展数据缓存命令的响应,并将更新扩展数据缓存命令的响应发送给终端;
步骤316,终端向卡片发送读取验证信息记录的命令;
步骤317,卡片根据读取验证信息记录的命令读取验证信息记录,将卡片缓存区中的更新的扩展应用文件记录替换卡片中的指定扩展应用文件记录,根据卡片缓存区中的第一操作结果更新卡片数据,将验证信息记录发送给终端;
步骤318,终端根据验证信息记录对卡片的合法性进行验证,如果验证成功,终端提示操作成功,如果验证失败,终端提示操作失败。
在本实施例中,步骤305中,如果记录状态为上车状态,则步骤313中,终端更改指定扩展应用文件记录中的记录状态具体为,终端将指定扩展应用文件记录中的记录状态更改为下车状态;
步骤305中,如果记录状态是下车状态,则步骤313中,终端更改指定扩展应用文件记录中的记录状态具体为,终端将指定扩展应用文件记录中的记录状态更改为上车状态。
在本实施例中,步骤303具体包括:
终端判断选择应用的响应数据中分段操作指示符的值是否为支持分段操作的预设值,如果是,向卡片发送读取指定扩展应用文件的指令,执行步骤304,如果否,终端提示操作失败。
在本实施例中,步骤310具体包括:
卡片获取卡片数据,判断卡片数据是否大于第一操作结果,如果是,则判断结果为脱机操作批准,将第一操作结果写入卡片缓存区,执行步骤311,如果否,则判断结果为脱机操作未批准,直接执行步骤311。
在本实施例中,步骤302可以为:卡片向终端返回包括应用文件***列表的选择应用的响应数据;
步骤316具体为:终端根据应用文件***列表向卡片发送读取验证信息记录的命令。
在本实施例中,,步骤317具体包括:卡片根据读命令读取验证信息记录,并根据应用文件***列表判断读取的验证信息记录是否为最后一条验证信息记录,如果是,卡片缓存区中的更新的扩展应用文件记录替换卡片中的指定扩展应用文件记录,根据卡片缓存区中的第一操作结果更新卡片数据,将验证信息记录发送给终端;如果否,等待终端向卡片发送读取验证信息记录的命令,返回步骤316。
在本实施例中,步骤313具体包括:终端生成安全报文,终端更改指定扩展应用文件记录中的记录状态,根据终端站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新更改的记录状态和设置的记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录和安全报文生成更新扩展数据缓存命令;
步骤315具体为:卡片接收更新扩展数据缓存命令后,验证据更新扩展数据缓存命令中安全报文是否合法,如果是,卡片将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片缓存区,生成写入成功返回码,根据写入成功返回码生成更新扩展数据缓存命令的响应;如果否,生成写入失败返回码,根据写入失败返回码生成更新扩展数据缓存命令的响应;
步骤316之前还包括:终端判断更新扩展数据缓存命令的响应中的返回码是否为写入成功返回码,如果是,则执行步骤316,如果否,终端提示操作失败。
在本实施例中,步骤317中,根据卡片缓存区中的第一操作结果更新卡片数据为:将卡片数据中扣除第一操作结果。
实施例4
本实施例提供了一种对智能卡分段操作的实现方法,如图4-1和图4-2所示,具体包括如下步骤:
步骤401,终端从应用候选列表中选择应用;
具体的,在本步骤中,终端从应用候选列表中选择AID为A000000632010106的应用;
步骤402,终端向卡片发送选择应用的指令;
具体的,在本步骤中,终端将选择的应用的应用标识(AID)发送给卡片。
具体的,在本步骤中,终端向卡片发送的选择应用的指令为:
00A4040008A000000632010106,其中AID为A000000632010106。
步骤403,卡片向终端返回选择应用的响应数据;
具体的,在本步骤中选择应用的响应数据中包括处理选项数据对象列表以及分段操作指示符。
其中,分段操作标识的标签为DF61;
具体的,在本步骤中处理选项数据对象列表必须包括终端的扩展应用操作指示位(CAPP操作指示位)。
其中,扩展应用操作指示位的标签为DF60;
具体的,在本实施例中,卡片向终端返回的选择应用的响应数据为:
6F81868408A000000632010106A57A500A4D4F545F545F434153488701019F381EDF60019F66049F02069F03069F1A0295055F2A029A039C019F21039F37045F2D027A689F1101019F120A4D4F545F545F43415348BF0C319F4D020B0ADF4D020C0ADF610182DF112001131121FFFFFFFF013104910200000005403F010100000156110011210001009000
卡片返回数据中包含PDOL数据:9F38 1E DF60019F66049F02069F03069F1A0295055F2A029A039C019F21039F3704和分段操作标识:DF61 01 82。
步骤404,终端根据选择应用的响应数据判断卡片是否支持分段操作,如果是,执行步骤405,如果否,终端提示操作失败。
具体的,在本步骤中,终端判断选择应用的响应数据中分段操作指示符的值是否为表示支持分段操作的预设值,如果是,执行步骤405,如果否,终端提示操作失败。
具体的,在本实施例中,终端判断卡片向终端返回的选择应用的响应数据中DF61的值是否为01,如果是,执行步骤405,如果否,终端提示操作失败。
步骤405,终端向卡片发送读取指定扩展应用文件记录的指令;
具体的,在本步骤中,终端根据自身的预定设置将要读取的指定扩展应用文件记录的标识组成读取指定扩展应用文件记录的指令,将读取指定扩展应用文件记录的指令发送给卡片。
具体的,在本实施例中,终端要读取卡片中指定扩展应用文件记录为读取卡片中的1A文件记录2701;
终端根据要读取的指定扩展应用文件记录的标识组成读取指定扩展应用文件记录的指令为:80B400D0022701,其中2701为要读取的指定扩展应用文件记录的标识。
步骤406,卡片判断是否存在指定扩展应用文件记录,如果是,执行步骤407,如果否,卡片向终端返回错误的状态码,终端提示操作失败。
具体的,在本步骤中,卡片根据要读取的指定扩展应用文件记录的标识判断是否存在指定扩展应用文件记录,即卡片判断是否判断卡片中是否存在标识为指定扩展应用文件记录的标识的扩展应用文件记录,如果是,则执行步骤407,如果否,卡片向终端返回错误的状态码,终端提示操作失败。
具体的,在本实施例中,卡片判断是否存在标识为2701的扩展应用文件记录,如果是,执行步骤407,如果否,卡片向终端返回错误的状态码,终端提示操作失败。
步骤407,卡片向终端返回指定扩展应用文件记录和正确的状态码。
具体的,在本实施例中,卡片向终端返回的指定扩展应用文件记录和正确的状态码为:
27017D01010000000000000000010131040000310400000000000000000000000000003104000000000001000000000000000031040000000011010000000000000000201907161555320000000000000000000000010011000000000000010000000100000000000000000000000000000000000000000000000000000000009000
其中,根据扩展应用文件记录的内容可知:记录状态为上车状态,即01表示上车状态,上车城市代码:3104,记录站点编号为3104000000000001,即上车站点,记录线路号为11,即上车线路编号;记录时间:20190716155532,即上车时间为2019年7月16日15点55分32秒,第一操作结果为:00000000,即0元,正确的状态码为:9000。
步骤408,终端判断指定扩展应用文件记录中的记录状态,如果记录状态是上车状态,执行步骤410;如果记录状态是下车状态,执行步骤409;
步骤409,终端将第一预设值计为第一操作结果,执行步骤412。
具体的,在本步骤中,第一预设值为0。
步骤410,终端判断终端站点编号与指定扩展应用文件记录中的记录站点编号是否相同,如果是,终端提示操作失败,如果否,执行步骤411。
步骤411,终端根据终端站点编号和读取的指定扩展应用文件记录计算第一操作结果,执行步骤412;
在本实施例中,本步骤可以为:终端根据终端站点编号和读取的指定扩展应用文件记录中记录站点编号进行计算,得到第一操作结果。
具体的,在本实施例中,终端根据自身的设置得可知:终端站点编号为3104000000000009,线路编号为11,终端操作时间为20190716163538,即终端时间为2019年7月16日16点35分38秒,;在本步骤中,终端根据终端站点编号3104000000000009和读取的指定扩展应用文件记录中记录站点编号3104000000000001进行计算,得到第一操作结果000000000500,即第一操作结果为5元。
步骤412,终端组成获取处理选项命令;
在本步骤中,终端根据第一操作结果组成获取处理选项命令。
在本实施例中,本步骤可以为:终端根据终端操作时间、扩展应用交易指示位和第一操作结果组成获取处理选项命令。
具体的,在本实施例中,本步骤为:终端根据处理选项数据对象列表,设置CAPP交易指示位DF60的值为01,
当步骤411中,第一操作结果为000000000500,终端操作时间为20190716163538,在本步骤中,组成的获取处理选项命令为:
80A80000278325012800000000000000050000000000000001560000000000015619071600163538511E143000;
步骤413,终端将获取处理选项命令发送给卡片;
步骤414,卡片根据卡片数据和获取处理选项命令中的第一操作结果判断是否脱机操作批准,如果是,则将第一操作结果写入卡片缓存区,执行步骤415,如果否,直接执行步骤415;
具体的,在本步骤中,卡片接收获取处理选项命令后获取卡片实际可用的电子现金余额,即卡片数据,判断实际可用的电子现金余额是否大于第一操作结果并且获得判断结果,根据判断结果组成获取处理选项命令响应;
具体的,卡片从获取处理选项命令中得到第一操作结果并计算卡片的实际可用的电子现金余额;
具体的,在本步骤中,卡片判断实际可用的电子现金余额是否大于第一操作结果,如果是,获得批准脱机操作的判断结果,并将第一操作结果写入卡片缓存区,如果否,则获得拒绝脱机操作的判断结果;
具体的,如果判断结果为批准脱机操作,卡片根据批准交易的卡片验证结果的值、卡片中的应用文件***(AFL)列表和交易应用密文(TC)生成获取处理选项命令响应;如果判断结果为拒绝交易,卡片根据拒绝交易的卡片验证结果的值和生成应用认证密文(AAC)生成获取处理选项命令响应。
其中,交易应用密文(TC)是对第一操作结果、终端操作时间、终端编码以及批准交易的卡片认证结果的值使用与终端编码对应的预置的密钥按照预定的算法生成的。
应用认证密文(AAC)是对第一操作结果、终端操作时间、终端编码以及拒绝交易的卡片认证结果的值使用与终端编码对应的预置的密钥按照预定的算法生成的。
具体的,在本实施例的本步骤中,如果判断结果为批准脱机操作,则生成获取处理选项命令响应为:
7781DF82027C00940C0802030018010401200101009F360200069F2608B6F94888462EC40F9F101307010103900000010A010000009500D8C9474C570F3104910200000005403D40122209995F3401019F4B8180385A09EF374CD3FAD4E2EC434F99E77013177B8593027CDF9BD83079AAD5B09E86AE3855728B001DA8549FC155E2DFBC8E338FB83A1BD0BB101616465E720752AAFE007B318D8C97452851E029159E079B09E302F0B0AF08D46A33AA265A967F2D6AC826124408C7BF7F2666E017FFFECDAB506990ACF21B4A3278F050D95EA99F6C0200009F5D060000000095009000
其中,卡片验证结果:03900000,表示批准脱机操作,AFL为:940C080203001801040120010100,交易应用密文为:9F26 08B6F94888462EC40F。
步骤415,卡片根据脱机操作批准的判断结果生成获取处理选项命令响应,并将获取处理选项命令响应发送给终端;
步骤416,终端判断获取处理选项命令响应中的判断结果是否为脱机操作批准,如果是,执行步骤417,如果否,终端提示操作失败;
具体的,终端判断获取处理选项命令响应中卡片认证结果的值是否为03900000,如果是,则执行步骤417,如果否,终端提示操作失败。
步骤417,终端组织更新扩展数据缓存命令(Update CAPP data cache);
本步骤可以为:终端通过更改指定扩展应用文件记录中的记录状态,以及根据终端站点编号设置指定扩展应用文件记录中的记录站点编号,将指定扩展应用文件记录修改为更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令;
具体的,如果读取的指定扩展应用文件记录中记录状态为上车状态,
则在本步骤中,终端更改指定扩展应用文件记录中的记录状态具体为,终端将指定扩展应用文件记录中的记录状态更改为下车状态;
如果读取的指定扩展应用文件记录中的记录状态是下车状态,
在本步骤中,终端更改指定扩展应用文件记录中的记录状态具体为,终端将指定扩展应用文件记录中的记录状态更改为上车状态。
在本步骤中,更新扩展数据缓存命令还可以包括安全报文;
其中,安全报文用于卡片验证;
具体的,终端根据存储在终端中与读取的指定扩展应用文件记录标识所对应的密钥使用预置的算法对更新的扩展应用文件记录进行加密运算,计算出相应的MAC值,将MAC值与更新的扩展应用文件记录组成安全报文;
具体的,在本实施例中,终端组织的更新扩展数据缓存命令为:
84DE00D08427017D0101000000000000000002023104310431040000000000003104000000000000310400000000000131040000000000093104000000001101310400000000230520190716155532201907161635380000050001021111000000000001000000000500000000000000000000000000000000000000000000000000000000A9C523A4;
其中,更新扩展数据缓存命令中的更新的扩展应用文件记录为:
27017D0101000000000000000002023104310431040000000000003104000000000000310400000000000131040000000000093104000000001101310400000000230520190716155532201907161635380000050001021111000000000001000000000500000000000000000000000000000000000000000000000000000000;安全报文为:A9C523A4;
其中,更新的扩展应用文件记录是对读取的指定扩展应用文件记录进行修改得到的,其中更新的扩展应用文件记录中:2701表示读取的扩展应用文件记录的记录标识,即此记录标识未作修改,仍作为更新的扩展应用文件记录的记录标识,其中记录状态是将读取的指定扩展文件记录的记录状态由上车状态修改为下车状态,即02表示下车状态,对记录时间进行了设置,将记录时间修改为终端的操作时间为20190716163538,表示下车时间为:2019年7月16日16点35分38秒,城市代码为3104,将记录站点编号按照终端站点编号进行了设置,将记录站点编号修改为3104000000000009,线路号为11,记录的第一操作结果重新进行了设置,将第一操作结果修改为00000500。
步骤418,终端将更新扩展数据缓存命令发送给卡片;
步骤419,卡片接收更新扩展数据缓存命令,生成更新扩展数据缓存命令响应;
在本步骤中,卡片接收更新扩展数据缓存命令后,验证更新扩展数据缓存命令中的安全报文是否合法,如果合法,卡片将更新扩展数据缓存命令中的更新的扩展应用文件记录写入卡片的缓存区,生成写入成功的返回码;如果验证失败,生成写入失败的返回码。
具体的,卡片接收到更新扩展数据缓存命令后,解析出更新的扩展应用文件记录和安全报文,卡片根据更新的扩展应用文件记录中的记录标识查找卡片中预置的与此标识对应的密钥,使用预置的算法对更新的扩展应用文件记录进行运算,得到运算结果,卡片判断运算结果是否与安全报文相同,如果是,卡片将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片缓存区,并生成写入成功返回码,根据写入成功返回码生成更新扩展数据缓存命令的响应,如果验证失败,生成写入失败的返回码,根据写入失败返回码生成更新扩展数据缓存命令的响应。
具体的,在本实施例中,卡片将终端发送的更新扩展数据缓存命令中的更新的扩展应用文件记录:
27017D0101000000000000000002023104310431040000000000003104000000000000310400000000000131040000000000093104000000001101310400000000230520190716155532201907161635380000050001021111000000000001000000000500000000000000000000000000000000000000000000000000000000
写入卡片缓存区并生成写入成功的返回码:9000,并根据写入成功的返回码生成更新扩展数据缓存命令的响应:9000。
步骤420,卡片向终端发送更新扩展数据缓存命令的响应;
步骤421,终端判断更新扩展数据缓存命令的响应中的返回码是否为写入成功返回码,如果是,执行步骤422;如果否,终端提示操作失败;
具体的,在本实施例中,终端判断更新扩展数据缓存命令的响应中的返回码是否为9000,如果是,执行步骤422;如果否,终端提示操作失败。
步骤422,终端向卡片发送读取验证信息记录的命令;
在本步骤中,终端根据应用文件***列表向卡片发送读取验证信息记录的命令;
具体的,在本步骤中,终端根据应用文件***列表:94 0C
080203001801040120010100需要依次读取验证信息记录0102,0103,0303,0304和0401;
例如,终端向卡片发送读取验证信息记录0102的读命令为:00B2020C00;
步骤423,卡片根据读命令读取验证信息记录,并根据应用文件***列表判断读取的验证信息记录是否为最后一条验证信息记录,如果是,执行步骤424,如果否,卡片等待接收终端发送的读取验证信息记录的命令,当接收到读取验证信息记录的命令时返回步骤423;
步骤424,卡片将卡片缓存区中更新的扩展应用文件记录写入卡中,并根据缓存区中的第一操作结果更新卡片数据,执行步骤425;
具体的,在本步骤中,卡片根据卡片缓存区中的第一操作结果更新卡片数据具体为:将第一操作结果从卡片数据中扣除。
步骤425,卡片根据读取的验证信息记录生成读取验证信息记录的命令响应,将读取验证信息记录的命令响应发送给终端;
具体的,在本实施例中,步骤422中,终端向卡片发送读取验证信息记录的命令为:00B2020C00,则本步骤中,具体的卡片发送给终端的包含验证信息记录0102的读命令响应为:
7081FB9081F824DC50DFFFC248155A22AE69EF0D2BB7DA83BC31521AE2F3248AC6C23A066ECA0BA940442548705326947B9775F023C185B14748C124BBF9FAEED27F72D34C50F7FA687D25223F736AFE278F024F6E52B7F025C84F31D2B0B36BF32486B4DA11F75BEF5A7C8657B0F956C18DEC1F3715898676F631D0F228B05553AE1935E2D7008C6D3C4D1E4F89F1DCB22F76C091E58682262BD0B52275720F13330FEDA1223027E97E858ADBF63EA684EDEE78EB527FEEDF63650F4F4C208BCD5A1CA96EB819F1E694F12E65B5E0C5EC48B03720B4368DE49E3EBD4C4E5DBCEE4174316233F8A315A91968C053962F029D0EBC74DEB36B1F733E5B06F29000。
具体的,在本步骤中,如果卡片根据卡片的AFL列表判断读取到的验证信息记录0102不是最后一条验证记录,则等待终端向卡片发送读取验证信息记录的命令,返回步骤422;
依次类推,直到卡片接收到读取验证信息记录0401的读命令后,根据卡片的AFL列表判断验证信息记录0401为最后一条验证记录,则执行步骤425,具体的,步骤425为卡片根据验证信息记录0401生成验证信息记录的读命令响应,发送给终端。
步骤426,终端根据接收到读取验证信息记录的命令响应对卡片的合法性进行验证,如果验证成功,终端提示操作成功,如果验证失败,终端提示操作失败。
具体的,在本步骤中,终端根据接收到验证信息记录的读命令响应对卡片的合法性进行验证,判断验证是否成功,如果验证成功终端提示操作成功,如果验证失败,终端提示操作失败。
实施例5
本实施例提供了一种对智能卡分段操作的***。如图5所示,对智能卡分段操作的***500包括:终端51和卡片52,其中,终端51包括:
第一发送模块5101,用于向卡片52发送选择应用的指令;还用于当第一判断模块5102根据第二发送模块52005201向终端51返回选择应用的响应数据判断判断卡片52支持分段操作后,向卡片52发送读取指定扩展应用文件的指令;还用于将组织模块5106组成的组成获取处理选项命令发送给卡片52;还用于将第一生成模块5107生成的更新扩展数据缓存命令发送给卡片52;还用于向卡片52发送读取验证信息记录的命令;
第一判断模块5102,用于根据选择应用的响应数据判断卡片52支持分段操作;
第二判断模块5103,用于判断终端51操作状态;还用于当第二判断模块5103判断终端51操作状态为进站状态,判断指定扩展应用文件记录中的记录状态是否为出站状态;还用于当第二判断模块5103判断终端51操作状态为出站状态时,判断指定扩展应用文件记录中的记录状态是否为进站状态;还用于判断获取处理选项命令响应中的判断结果是否为脱机操作批准;
计算模块5104,用于当第二判断模块5103判断终端51操作状态为进站状态,判断指定扩展应用文件记录中的记录状态为出站状态时,将第一预设值计为第一操作结果;还用于当第二判断模块5103判断终端51操作状态为出站状态,判断指定扩展应用文件记录中的记录状态为进站状态时,根据终端51站点编号和读取的指定扩展应用文件记录中的记录站点编号进行计算,得到第一操作结果;
提示模块5105,用于当第二判断模块5103判断终端51操作状态为进站状态,判断指定扩展应用文件记录中的记录状态为非出站状态时,提示操作失败;还用于当第二判断模块5103判断终端51操作状态为出站状态,判断指定扩展应用文件记录中的记录状态为非进站状态时,提示操作失败;还用于当所述第一判断模块5102根据所述选择应用的响应数据判断所述卡片不支持分段操作时,提示操作失败;还用于第一验证模块5108验证成功后,提示操作成功,还用于所述第一验证模块5108验证失败后,提示操作失败;
组织模块5106,用于根据第一操作结果组成获取处理选项命令;
第一生成模块5107,用于根据终端51操作状态设置指定扩展应用文件记录中的记录状态,根据终端51的站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新设置的记录状态和记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令;;
第一验证模块5108,用于根据验证信息记录对卡片52的合法性进行验证。
卡片52包括:
第二发送模块5200,用于向终端51返回选择应用的响应数据;还用于向终端51返回指定扩展应用文件记录;还用于将第二生成模块5203生成的获取处理选项命令的响应发送给终端51;还用于将更新扩展数据缓存命令的响应发送给终端51;用于将读取模块5204读取的验证信息记录发送给终端51;
第三判断模块5201,用于根据卡片52数据和获取处理选项命令中的第一操作结果判断是否脱机操作批准;
写入模块5202,用于当第三判断模块5201判断脱机操作批准时,将第一操作结果写入卡片52缓存区;还用于将将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片52缓存区;
第二生成模块5203,用于根据第三判断模块5201的脱机操作批准的判断结果生成获取处理选项命令响应;还用于生成更新扩展数据缓存命令的响应;
读取模块5204,用于根据读命令读取验证信息记录;
替换更新模块5205,用于将卡片52缓存区中的更新的扩展应用文件记录替换卡片52中的指定扩展应用文件记录,根据卡片52缓存区中的第一操作结果更新卡片52数据。
第二判断模块5103,还用于当第二判断模块5103判断终端51操作状态为出站状态,判断指定扩展应用文件记录中的记录状态为进站状态时,根据终端51的时间判断指定扩展应用文件记录中的记录时间是否超时;
计算模块5104,还用于当第二判断模块5103根据终端51的时间判断指定扩展应用文件记录中的记录时间为超时时,终端51将第二预设值计为第一操作结果。
第一生成模块5107,用于根据终端51操作状态设置指定扩展应用文件记录中的记录状态,根据终端51的站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新设置的记录状态和记录站点编号生成更新的扩展应用文件记录为:第一生成模块5107,具体用于将指定扩展应用文件记录中的记录状态修改为终端51操作状态,将指定扩展应用文件记录中的记录站点编号修改为终端51的站点编号,根据重新设置的记录状态和记录站点编号生成更新的扩展应用文件记录。
第一判断模块5102,具体用于判断选择应用的响应数据中分段操作指示符的值是否为支持分段操作的预设值;
第一发送模块5101还用于当第一判断模块5102根据第二发送模块5200向终端51返回选择应用的响应数据判断判断卡片52支持分段操作后,向卡片52发送读取指定扩展应用文件的指令具体为:
第一发送模块5101还用于当第一判断模块5102判断选择应用的响应数据中分段操作指示符的值为支持分段操作的预设值后,向卡片52发送读取指定扩展应用文件的指令;
提示模块5105还用于当第一判断模块5102根据所述选择应用的响应数据判断所述卡片不支持分段操作时,提示操作失败具体为:
还用于当第一判断模块5102判断所述选择应用的响应数据中分段操作指示符的值不为支持分段操作的预设值后,提示操作失败。
卡片52还包括:获取模块,用于获取卡片52数据;
第三判断模块5201,具体用于判断卡片52数据是否大于第一操作结果,如果是,则判断结果为脱机操作批准,如果否,则判断结果为脱机操作未批准。
第二发送模块5200,用于向终端51返回选择应用的响应数据具体为:
第二发送模块5200,用于向终端51返回包括应用文件***列表的选择应用的响应数据;
第一发送模块5101,还用于向卡片52发送读取验证信息记录的命令具体为:第一发送模块5101,还用于根据应用文件***列表向卡片52发送读取验证信息记录的命令。
第三判断模块5201还用于根据应用文件***列表判断读取的验证信息记录是否为最后一条验证信息记录,
替换更新模块5205,具体用于当第三判断模块5201判断读取的验证信息记录为最后一条验证信息记录时,将卡片52缓存区中的更新的扩展应用文件记录替换卡片52中的指定扩展应用文件记录,根据卡片52缓存区中的第一操作结果更新卡片52数据;
读取模块5204,还用于当第三判断模块5201判断读取的验证信息记录不是最后一条验证信息记录时,根据读命令读取验证信息记录。
第一生成模块5107,用于根据终端51操作状态设置指定扩展应用文件记录中的记录状态,根据终端51的站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新设置的记录状态和记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令,具体为:第一生成模块5107,用于生成安全报文,终端51根据终端51操作状态设置指定扩展应用文件记录中的记录状态,根据终端51的站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新设置的记录状态和记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录和安全报文生成更新扩展数据缓存命令;
卡片52还包括:
第二验证模块,还用于验证更新扩展数据缓存命令中安全报文是否合法;
写入模块5202,还用于将将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片52缓存区具体为:写入模块5202,还用于当第二验证模块的验证结果为是时,将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片52缓存区;
第二生成模块5203,还用于生成更新扩展数据缓存命令的响应具体为:
第二生成模块5203,还用于当第二验证模块的验证结果为是时,生成写入成功返回码,根据写入成功返回码生成更新扩展数据缓存命令的响应;第二验证模块的验证结果为否时,生成写入失败返回码,根据写入失败返回码生成更新扩展数据缓存命令的响应;
第一判断模块5102,还用于判断判断更新扩展数据缓存命令的响应中的返回码是否为写入成功返回码;
第一发送模块5101还用于向卡片52发送读取验证信息记录的命令具体为:第一发送模块5101还用于当第一判断模块5102判断更新扩展数据缓存命令的响应中的返回码为写入成功返回码时,向卡片52发送读取验证信息记录的命令。
提示模块5105,还用于,当第一判断模块5102判断更新扩展数据缓存命令的响应中的返回码不是写入成功返回码时,提示操作失败。
替换更新模块5205,具体用于将卡片52缓存区中的更新的扩展应用文件记录替换卡片52中的指定扩展应用文件记录,将卡片52数据中扣除第一操作结果。
计算模块5104根据终端51站点编号和读取的指定扩展应用文件记录中的记录站点编号进行计算,得到第一操作结果可以被替换为:计算模块5104根据终端51时间和读取的指定扩展应用文件记录中的记录时间进行计算,得到第一操作结果;
第一生成模块5107根据终端51的站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新设置的记录状态和记录站点编号生成更新的扩展应用文件记录可以被替换为:
第一生成模块5107根据终端51时间设置指定扩展应用文件记录中的记录时间,根据重新设置的记录状态和记录时间生成更新的扩展应用文件记录。
实施例6
本实施例提供了一种对智能卡分段操作的***。如图6所示,对智能卡分段操作的***600包括:终端61和卡片62,终端61包括:
第一发送模块6101,用于向卡片62发送选择应用的指令;还用于当第一判断模块6102根据第二发送模块6201向终端61返回选择应用的响应数据判断判断卡片62支持分段操作后,向卡片62发送读取指定扩展应用文件的指令;还用于将组织模块6106组成的组成获取处理选项命令发送给卡片62;还用于将第一生成模块6107生成的更新扩展数据缓存命令发送给卡片62;还用于向卡片62发送读取验证信息记录的命令;
第一判断模块6102,用于根据选择应用的响应数据判断卡片62是否支持分段操作;
第二判断模块6103,用于判断指定扩展应用文件记录中记录状态;还用于当第二判断模块6103判断记录状态为上车状态时,判断终端61站点编号与指定扩展应用文件记录中的记录站点编号是否相同;还用于判断获取处理选项命令响应中的判断结果是否为脱机操作批准;
计算模块6104,用于当第二判断模块6103判断记录状态为下车状态时将第一预设值计为第一操作结果;还用于当第二判断模块6103判断终端61站点编号与指定扩展应用文件记录中的记录站点编号不相同时,根据终端61站点编号和读取的指定扩展应用文件记录中的记录站点编号进行计算,得到第一操作结果;
提示模块6105,用于当第二判断模块6103判断终端61站点编号与指定扩展应用文件记录中的记录站点编号相同时,提示操作失败;还用于当所述第一判断模块6102根据所述选择应用的响应数据判断所述卡片不支持分段操作时,提示操作失败;还用于第一验证模块6108验证成功后,提示操作成功,还用于所述第一验证模块6108验证失败后,提示操作失败;
组织模块6106,用于根据第一操作结果组成获取处理选项命令;
第一生成模块6107,用于更改指定扩展应用文件记录中的记录状态,根据终端61站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新更改的记录状态和设置的记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令;
第一验证模块6108,用于根据验证信息记录对卡片62的合法性进行验证。
卡片62包括:
第二发送模块6201,用于向终端61返回选择应用的响应数据;还用于当所述第一发送模块6101向所述卡片发送读取指定扩展应用文件的指令后向终端61返回指定扩展应用文件记录;还用于将第二生成模块6204生成的获取处理选项命令的响应发送给终端61;还用于将更新扩展数据缓存命令的响应发送给终端61;用于将读取模块6205读取的验证信息记录发送给终端61;
第三判断模块6202,用于根据卡片62数据和获取处理选项命令中的第一操作结果判断是否脱机操作批准;
写入模块6203,用于当第三判断模块6202判断脱机操作批准时,将第一操作结果写入卡片62缓存区;还用于将将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片62缓存区;
第二生成模块6204,用于根据第三判断模块6202的脱机操作批准的判断结果生成获取处理选项命令响应;还用于生成更新扩展数据缓存命令的响应;
读取模块6205,用于根据读命令读取验证信息记录;
替换更新模块6206,用于将卡片62缓存区中的更新的扩展应用文件记录替换卡片62中的指定扩展应用文件记录,根据卡片62缓存区中的第一操作结果更新卡片62数据。
当记录状态为上车状态时,第一生成模块6107,用于更改指定扩展应用文件记录中的记录状态,具体为:第一生成模块6107,用于将指定扩展应用文件记录中的记录状态更改为下车状态;
当记录状态为下车状态时,第一生成模块6107,用于更改指定扩展应用文件记录中的记录状态,具体为:第一生成模块6107,用于将指定扩展应用文件记录中的记录状态更改为上车状态。
第一判断模块6102,具体用于判断选择应用的响应数据中分段操作指示符的值是否为支持分段操作的预设值;
第一发送模块6101还用于当第一判断模块6102根据第二发送模块6201向终端61返回选择应用的响应数据判断判断卡片62支持分段操作后,向卡片62发送读取指定扩展应用文件的指令具体为:
第一发送模块6101还用于当第一判断模块6102判断选择应用的响应数据中分段操作指示符的值为支持分段操作的预设值后,向卡片62发送读取指定扩展应用文件的指令;
提示模块6105还用于当第一判断模块6102根据所述选择应用的响应数据判断所述卡片不支持分段操作时,提示操作失败具体为:
还用于当第一判断模块6105判断所述选择应用的响应数据中分段操作指示符的值不为支持分段操作的预设值后,提示操作失败。
卡片62还包括:获取模块,用于获取卡片62数据;
第三判断模块6202,具体用于判断卡片62数据是否大于第一操作结果,如果是,则判断结果为脱机操作批准,如果否,则判断结果为脱机操作未批准。
第二发送模块6201,用于向终端61返回选择应用的响应数据具体为:
第二发送模块6201,用于向终端61返回包括应用文件***列表的选择应用的响应数据;
第一发送模块6101,还用于向卡片62发送读取验证信息记录的命令具体为:第一发送模块6101,还用于根据应用文件***列表向卡片62发送读取验证信息记录的命令。
第三判断模块6202还用于根据应用文件***列表判断读取的验证信息记录是否为最后一条验证信息记录,
替换更新模块6206,具体用于当第三判断模块6202判断读取的验证信息记录为最后一条验证信息记录时,将卡片62缓存区中的更新的扩展应用文件记录替换卡片62中的指定扩展应用文件记录,根据卡片62缓存区中的第一操作结果更新卡片62数据;
读取模块6205,还用于当第三判断模块6202判断读取的验证信息记录不是最后一条验证信息记录时,根据读命令读取验证信息记录。
第一生成模块6107,用于更改指定扩展应用文件记录中的记录状态,根据终端61站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新更改的记录状态和设置的记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录生成更新扩展数据缓存命令,具体为:第一生成模块6107,用于生成安全报文,更改指定扩展应用文件记录中的记录状态,根据终端61站点编号设置指定扩展应用文件记录中的记录站点编号,根据重新更改的记录状态和设置的记录站点编号生成更新的扩展应用文件记录,根据更新的扩展应用文件记录和安全报文生成更新扩展数据缓存命令;
卡片62还包括:
第二验证模块,还用于验证更新扩展数据缓存命令中安全报文是否合法;
写入模块6203,还用于将将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片62缓存区具体为:写入模块6203,还用于当第二验证模块的验证结果为是时,将更新扩展数据缓存命令中更新的扩展应用文件记录写入卡片62缓存区;
第二生成模块6204,还用于生成更新扩展数据缓存命令的响应具体为:
第二生成模块6204,还用于当第二验证模块的验证结果为是时,生成写入成功返回码,根据写入成功返回码生成更新扩展数据缓存命令的响应;第二验证模块的验证结果为否时,生成写入失败返回码,根据写入失败返回码生成更新扩展数据缓存命令的响应;
第一判断模块6102,还用于判断判断更新扩展数据缓存命令的响应中的返回码是否为写入成功返回码;
第一发送模块6101还用于向卡片62发送读取验证信息记录的命令具体为:第一发送模块6101还用于当第一判断模块6102判断更新扩展数据缓存命令的响应中的返回码为写入成功返回码时,向卡片62发送读取验证信息记录的命令。
提示模块6105,还用于,当第一判断模块6102判断更新扩展数据缓存命令的响应中的返回码不是写入成功返回码时,提示操作失败。
替换更新模块6206,具体用于将卡片62缓存区中的更新的扩展应用文件记录替换卡片62中的指定扩展应用文件记录,将卡片62数据中扣除第一操作结果。
以上,仅为本发明较佳的具体实施方法,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (36)

1.一种对智能卡分段操作的实现方法,其特征在于,所述方法包括:
步骤1,终端向卡片发送选择应用的指令;
步骤2,所述卡片向所述终端返回选择应用的响应数据;
步骤3,所述终端根据所述选择应用的响应数据判断所述卡片是否支持分段操作,如果是,向所述卡片发送读取指定扩展应用文件的指令,执行步骤4,如果否,所述终端提示操作失败;
步骤4,所述卡片向所述终端返回指定扩展应用文件记录;
步骤5,所述终端判断终端操作状态,当所述终端判断所述终端操作状态为进站状态时,执行步骤6,当所述终端判断所述终端操作状态为出站状态时,执行步骤7;
步骤6,所述终端判断所述指定扩展应用文件记录中的记录状态是否为出站状态,如果是,所述终端将第一预设值计为第一操作结果,执行步骤9,如果否,所述终端提示操作失败;
步骤7,所述终端判断所述指定扩展应用文件记录中的记录状态是否为进站状态,如果是,执行步骤8,如果否,所述终端提示操作失败;
步骤8,所述终端根据终端站点编号和所述指定扩展应用文件记录中的记录站点编号进行计算,得到所述第一操作结果;执行步骤9;
步骤9,所述终端根据所述第一操作结果组成获取处理选项命令,并将所述获取处理选项命令发送给所述卡片;
步骤10,所述卡片根据卡片数据和所述获取处理选项命令中的所述第一操作结果判断是否为脱机操作批准,如果是,则将所述第一操作结果写入卡片缓存区,然后执行步骤11,如果否,直接执行步骤11;
步骤11,所述卡片根据脱机操作批准的判断结果生成获取处理选项命令的响应,并将所述获取处理选项命令的响应发送给所述终端;
步骤12,所述终端判断所述获取处理选项命令的响应中的所述判断结果是否为脱机操作批准,如果是,执行步骤13,如果否,终端提示操作失败;
步骤13,所述终端根据所述终端操作状态设置所述指定扩展应用文件记录中的所述记录状态,根据所述终端的站点编号设置所述指定扩展应用文件记录中的所述记录站点编号,根据重新设置的所述记录状态和所述记录站点编号生成更新的扩展应用文件记录,根据所述更新的扩展应用文件记录生成更新扩展数据缓存命令;
步骤14,所述终端将所述更新扩展数据缓存命令发送给所述卡片;
步骤15,所述卡片将所述更新扩展数据缓存命令中的扩展应用文件记录写入所述卡片缓存区,生成更新扩展数据缓存命令的响应,并将所述更新扩展数据缓存命令的响应发送给所述终端;
步骤16,所述终端向所述卡片发送读取验证信息记录的命令;
步骤17,所述卡片根据所述读取验证信息记录的命令读取验证信息记录,用所述卡片缓存区中的所述更新的扩展应用文件记录替换卡片中的所述指定扩展应用文件记录,根据所述卡片缓存区中的所述第一操作结果更新所述卡片数据,将验证信息记录发送给所述终端;
步骤18,所述终端根据所述验证信息记录对卡片的合法性进行验证,如果验证成功,所述终端提示操作成功,如果验证失败,所述终端提示操作失败。
2.如权利要求1所述的方法,其特征在于,所述步骤7中,执行步骤8之前还包括,所述终端根据所述终端的时间判断所述指定扩展应用文件记录中的记录时间是否超时,如果是,执行步骤8’,如果否,执行步骤8;
步骤8’,所述终端将第二预设值计为所述第一操作结果,执行步骤9。
3.如权利要求1所述的方法,其特征在于,
所述步骤13中,所述终端根据所述终端操作状态设置所述指定扩展应用文件记录中的所述记录状态,根据所述终端的站点编号设置所述指定扩展应用文件记录中的所述记录站点编号,根据重新设置的所述记录状态和所述记录站点编号生成更新的扩展应用文件记录,具体为:
所述终端将所述指定扩展应用文件记录中的所述记录状态修改为所述终端操作状态,将所述指定扩展应用文件记录中的所述记录站点编号修改为所述终端的站点编号,根据重新设置的所述记录状态和所述记录站点编号生成更新的扩展应用文件记录。
4.如权利要求1所述的方法,其特征在于,所述步骤3具体包括:
所述终端判断所述选择应用的响应数据中分段操作指示符的值是否为支持分段操作的预设值,如果是,向所述卡片发送读取指定扩展应用文件的指令,执行步骤4,如果否,所述终端提示操作失败。
5.如权利要求1所述的方法,其特征在于,所述步骤10具体包括:
所述卡片获取卡片数据,判断所述卡片数据是否大于所述第一操作结果,如果是,则判断结果为脱机操作批准,将所述第一操作结果写入卡片缓存区,执行步骤11,如果否,则判断结果为脱机操作未批准,直接执行步骤11。
6.如权利要求1所述的方法,其特征在于,所述步骤2具体为:所述卡片向所述终端返回包括应用文件***列表的选择应用的响应数据;
所述步骤16具体为:所述终端根据所述应用文件***列表向所述卡片发送读取验证信息记录的命令。
7.如权利要求6所述的方法,其特征在于,所述步骤17具体包括:所述卡片根据所述读取验证信息记录的命令读取验证信息记录,并根据所述应用文件***列表判断读取的所述验证信息记录是否为最后一条验证信息记录,如果是,用所述卡片缓存区中的所述更新的扩展应用文件记录替换卡片中的所述指定扩展应用文件记录,根据所述卡片缓存区中的所述第一操作结果更新卡片数据,将所述验证信息记录发送给所述终端;如果否,等待接收所述终端发送的读取验证信息记录的命令,返回步骤16。
8.如权利要求1所述的方法,其特征在于,所述步骤13具体包括:所述终端生成安全报文,所述终端根据所述终端操作状态设置所述指定扩展应用文件记录中的所述记录状态,根据所述终端的站点编号设置所述指定扩展应用文件记录中的所述记录站点编号,根据重新设置的所述记录状态和所述记录站点编号生成更新的扩展应用文件记录,根据所述更新的扩展应用文件记录和所述安全报文生成更新扩展数据缓存命令;
所述步骤15具体为:所述卡片接收所述更新扩展数据缓存命令后,验证更新扩展数据缓存命令中的所述安全报文是否合法,如果是,所述卡片将所述更新扩展数据缓存命令中的更新的扩展应用文件记录写入所述卡片缓存区,生成写入成功返回码,根据所述写入成功返回码生成更新扩展数据缓存命令的响应;如果否,生成写入失败返回码,根据所述写入失败返回码生成更新扩展数据缓存命令的响应;
所述步骤16之前还包括:所述终端判断所述更新扩展数据缓存命令的响应中的返回码是否为写入成功返回码,如果是,则执行步骤16,如果否,所述终端提示操作失败。
9.如权利要求1所述的方法,其特征在于,
所述步骤17中,根据所述卡片缓存区中的所述第一操作结果更新所述卡片数据为:从所述卡片数据扣除所述第一操作结果。
10.如权利要求1所述的方法,其特征在于,所述步骤8替换为步骤8’,所述终端根据终端时间和所述读取的指定扩展应用文件记录中的记录时间进行计算得到所述第一操作结果;执行步骤9;
所述步骤13具体为:所述终端根据所述终端操作状态设置所述指定扩展应用文件记录中的所述记录状态,根据所述终端时间设置所述指定扩展应用文件记录中的所述记录时间,根据重新设置的所述记录状态和所述记录时间生成更新的扩展应用文件记录,根据所述更新的扩展应用文件记录生成更新扩展数据缓存命令。
11.一种对智能卡分段操作的实现方法,其特征在于,包括:
步骤A1,终端向卡片发送选择应用的指令;
步骤A2,所述卡片向所述终端返回选择应用的响应数据;
步骤A3,所述终端根据所述选择应用的响应数据判断所述卡片是否支持分段操作,如果是,向所述卡片发送读取指定扩展应用文件的指令,执行步骤4,如果否,所述终端提示操作失败;
步骤A4,所述卡片向所述终端返回指定扩展应用文件记录;
步骤A5,所述终端判断所述指定扩展应用文件记录中的记录状态,如果所述记录状态是上车状态,则执行步骤A7;如果所述记录状态是下车状态,则执行步骤A6;
步骤A6,所述终端将第一预设值计为第一操作结果,执行步骤A9;
步骤A7,所述终端判断终端站点编号与所述指定扩展应用文件记录中的记录站点编号是否相同,如果是,则终端提示操作失败;如果否,执行步骤A8;
步骤A8,所述终端根据所述终端站点编号和所述指定扩展应用文件记录中的所述记录站点编号进行计算,得到所述第一操作结果,执行步骤A9;
步骤A9,所述终端根据所述第一操作结果组成获取处理选项命令,并将所述获取处理选项命令发送给所述卡片;
步骤A10,所述卡片根据卡片数据和所述获取处理选项命令中的所述第一操作结果判断是否脱机操作批准,如果是,将所述第一操作结果写入卡片缓存区,然后执行步骤A11,如果否,直接执行步骤A11;
步骤A11,所述卡片根据脱机操作批准的判断结果生成获取处理选项命令的响应,并将所述获取处理选项命令的响应发送给所述终端;
步骤A12,所述终端判断所述获取处理选项命令的响应中的所述脱机操作批准的判断结果是否为脱机操作批准,如果是,执行步骤A13,如果否,所述终端提示操作失败;
步骤A13,所述终端更改所述指定扩展应用文件记录中的所述记录状态,根据所述终端站点编号设置所述指定扩展应用文件记录中的所述记录站点编号,根据重新更改的所述记录状态和设置的所述记录站点编号生成更新的扩展应用文件记录,根据所述更新的扩展应用文件记录生成更新扩展数据缓存命令;
步骤A14,所述终端将所述更新扩展数据缓存命令发送给所述卡片;
步骤A15,所述卡片将所述更新扩展数据缓存命令中更新的扩展应用文件记录写入所述卡片缓存区,生成更新扩展数据缓存命令的响应,并将所述更新扩展数据缓存命令的响应发送给所述终端;
步骤A16,所述终端向所述卡片发送读取验证信息记录的命令;
步骤A17,所述卡片根据所述读取验证信息记录的命令读取验证信息记录,用所述卡片缓存区中的所述更新的扩展应用文件记录替换卡片中的所述指定扩展应用文件记录,根据所述卡片缓存区中的所述第一操作结果更新所述卡片数据,将验证信息记录发送给所述终端;
步骤A18,所述终端根据所述验证信息记录对卡片的合法性进行验证,如果验证成功,所述终端提示操作成功,如果验证失败,所述终端提示操作失败。
12.如权利要求11所述的方法,其特征在于,所述步骤A5中,如果所述记录状态为上车状态,则所述步骤A13中,所述终端更改所述指定扩展应用文件记录中的所述记录状态具体为,所述终端将所述指定扩展应用文件记录中的所述记录状态更改为下车状态;
所述步骤A5中,如果所述记录状态是下车状态,则所述步骤A13中,所述终端更改所述指定扩展应用文件记录中的所述记录状态具体为,所述终端将所述指定扩展应用文件记录中的所述记录状态更改为上车状态。
13.如权利要求11所述的方法,其特征在于,所述步骤A3具体包括:
所述终端判断所述选择应用的响应数据中分段操作指示符的值是否为支持分段操作的预设值,如果是,向所述卡片发送读取指定扩展应用文件的指令,执行步骤4,如果否,所述终端提示操作失败。
14.如权利要求11所述的方法,其特征在于,所述步骤A10具体包括:
所述卡片获取卡片数据,判断所述卡片数据是否大于所述第一操作结果,如果是,则判断结果为脱机操作批准,将所述第一操作结果写入卡片缓存区,然后执行步骤A11,如果否,则判断结果为脱机操作未批准,直接执行步骤A11。
15.如权利要求11所述的方法,其特征在于,所述步骤A2具体为:所述卡片向所述终端返回包括应用文件***列表的选择应用的响应数据;
所述步骤A16具体为:所述终端根据所述应用文件***列表向所述卡片发送读取验证信息记录的命令。
16.如权利要求15所述的方法,其特征在于,所述步骤A17具体包括:所述卡片根据所述读取验证信息记录的命令读取验证信息记录,并根据所述应用文件***列表判断读取的所述验证信息记录是否为最后一条验证信息记录,如果是,用所述卡片缓存区中的所述更新的扩展应用文件记录替换卡片中的所述指定扩展应用文件记录,根据所述卡片缓存区中的所述第一操作结果更新卡片数据,将所述验证信息记录发送给所述终端,执行步骤A18;如果否,等待所述终端向所述卡片发送读取验证信息记录的命令,返回步骤A16。
17.如权利要求11所述的方法,其特征在于,所述步骤A13具体包括:所述终端生成安全报文,所述终端更改所述指定扩展应用文件记录中的所述记录状态,根据所述终端站点编号设置所述指定扩展应用文件记录中的所述记录站点编号,根据重新更改的所述记录状态和设置的所述记录站点编号生成更新的扩展应用文件记录,根据所述更新的扩展应用文件记录和所述安全报文生成更新扩展数据缓存命令;
所述步骤A15具体为:所述卡片接收所述更新扩展数据缓存命令后,验证据更新扩展数据缓存命令中所述安全报文是否合法,如果是,所述卡片将所述更新扩展数据缓存命令中的更新的扩展应用文件记录写入所述卡片缓存区,生成写入成功返回码,根据所述写入成功返回码生成更新扩展数据缓存命令的响应;如果否,生成写入失败返回码,根据所述写入失败返回码生成更新扩展数据缓存命令的响应;
所述步骤A16之前还包括:所述终端判断所述更新扩展数据缓存命令的响应中的返回码是否为写入成功返回码,如果是,则执行步骤A16,如果否,所述终端提示操作失败。
18.如权利要求11所述的方法,其特征在于,
所述步骤A17中,根据所述卡片缓存区中的所述第一操作结果更新所述卡片数据为:从所述卡片数据扣除所述第一操作结果。
19.一种对智能卡分段操作的***,其特征在于,所述***包括:终端和卡片,所述终端包括:
第一发送模块,用于向所述卡片发送选择应用的指令;还用于当第一判断模块根据第二发送模块向所述终端返回选择应用的响应数据判断所述卡片支持分段操作后,向所述卡片发送读取指定扩展应用文件的指令;还用于将组织模块组成的组成获取处理选项命令发送给所述卡片;还用于将第一生成模块生成的更新扩展数据缓存命令发送给卡片;还用于向所述卡片发送读取验证信息记录的命令;
所述第一判断模块,用于根据选择应用的响应数据判断所述卡片是否支持分段操作;
第二判断模块,用于判断终端操作状态;如果所述终端操作状态为进站状态,还用于判断所述指定扩展应用文件记录中的记录状态是否为出站状态;如果所述终端操作状态为出站状态,还用于判断所述指定扩展应用文件记录中的记录状态是否为进站状态;还用于判断获取处理选项命令响应中的判断结果是否为脱机操作批准;
计算模块,用于当所述第二判断模块判断所述终端操作状态为进站状态,判断所述指定扩展应用文件记录中的记录状态为出站状态时,将第一预设值计为第一操作结果;还用于当所述第二判断模块判断所述终端操作状态为出站状态,判断所述指定扩展应用文件记录中的记录状态为进站状态时,根据终端站点编号和所述读取的指定扩展应用文件记录中的记录站点编号进行计算,得到所述第一操作结果;
提示模块,用于当所述第二判断模块判断所述终端操作状态为进站状态,判断所述指定扩展应用文件记录中的记录状态为非出站状态时,提示操作失败;还用于当所述第二判断模块判断所述终端操作状态为出站状态,判断所述指定扩展应用文件记录中的记录状态为非进站状态时,提示操作失败;还用于当所述第一判断模块根据所述选择应用的响应数据判断所述卡片不支持分段操作时,提示操作失败;还用于第一验证模块验证成功后,提示操作成功,还用于所述第一验证模块验证失败后,提示操作失败;
所述组织模块,用于根据所述第一操作结果组成获取处理选项命令;
所述第一生成模块,用于根据所述终端操作状态设置所述指定扩展应用文件记录中的所述记录状态,根据所述终端的站点编号设置所述指定扩展应用文件记录中的所述记录站点编号,根据重新设置的所述记录状态和所述记录站点编号生成更新的扩展应用文件记录,根据所述更新的扩展应用文件记录生成更新扩展数据缓存命令;
所述第一验证模块,用于根据所述验证信息记录对卡片的合法性进行验证;
所述卡片包括:
所述第二发送模块,用于向所述终端返回选择应用的响应数据;还用于当所述第一发送模块向所述卡片发送读取指定扩展应用文件的指令后向所述终端返回指定扩展应用文件记录;还用于将第二生成模块生成的获取处理选项命令的响应发送给所述终端;还用于将更新扩展数据缓存命令的响应发送给所述终端;用于将读取模块读取的验证信息记录发送给所述终端;
第三判断模块,用于根据卡片数据和所述获取处理选项命令中的所述第一操作结果判断是否脱机操作批准;
写入模块,用于当所述第三判断模块判断脱机操作批准时,将所述第一操作结果写入卡片缓存区;还用于将所述更新扩展数据缓存命令中更新的扩展应用文件记录写入所述卡片缓存区;
所述第二生成模块,用于根据第三判断模块的脱机操作批准的判断结果生成所述获取处理选项命令响应;还用于生成所述更新扩展数据缓存命令的响应;
所述读取模块,用于根据读命令读取所述验证信息记录;
替换更新模块,用于将所述卡片缓存区中的所述更新的扩展应用文件记录替换卡片中的所述指定扩展应用文件记录,根据所述卡片缓存区中的所述第一操作结果更新所述卡片数据。
20.如权利要求19所述***,其特征在于,
第二判断模块,还用于当所述第二判断模块判断所述终端操作状态为出站状态,判断所述指定扩展应用文件记录中的记录状态为进站状态时,根据所述终端的时间判断所述指定扩展应用文件记录中的记录时间是否超时;
所述计算模块,还用于当所述第二判断模块根据所述终端的时间判断所述指定扩展应用文件记录中的记录时间为超时时,所述终端将第二预设值计为所述第一操作结果。
21.如权利要求19所述的***,其特征在于,
所述第一生成模块,用于根据所述终端操作状态设置所述指定扩展应用文件记录中的所述记录状态,根据所述终端的站点编号设置所述指定扩展应用文件记录中的所述记录站点编号,根据重新设置的所述记录状态和所述记录站点编号生成更新的扩展应用文件记录,具体为:用于将所述指定扩展应用文件记录中的所述记录状态修改为所述终端操作状态,将所述指定扩展应用文件记录中的所述记录站点编号修改为所述终端的站点编号,根据重新设置的所述记录状态和所述记录站点编号生成更新的扩展应用文件记录。
22.如权利要求19所述的***,其特征在于,
所述第一判断模块,具体用于判断所述选择应用的响应数据中分段操作指示符的值是否为支持分段操作的预设值;
第一发送模块还用于当第一判断模块根据第二发送模块向所述终端返回选择应用的响应数据判断所述卡片支持分段操作后,向所述卡片发送读取指定扩展应用文件的指令具体为:还用于当第一判断模块判断所述选择应用的响应数据中分段操作指示符的值为支持分段操作的预设值后,向所述卡片发送读取指定扩展应用文件的指令;
所述提示模块还用于当所述第一判断模块根据所述选择应用的响应数据判断所述卡片不支持分段操作时,提示操作失败具体为:
还用于当所述第一判断模块判断所述选择应用的响应数据中分段操作指示符的值不为支持分段操作的预设值后,提示操作失败。
23.如权利要求19所述的***,其特征在于,
所述卡片还包括:获取模块,用于获取卡片数据;
所述第三判断模块,具体用于判断所述卡片数据是否大于所述第一操作结果,如果是,则判断结果为脱机操作批准,如果否,则判断结果为脱机操作未批准。
24.如权利要求19所述的***,其特征在于,
所述第二发送模块,用于向所述终端返回选择应用的响应数据具体为:用于向所述终端返回包括应用文件***列表的选择应用的响应数据;
所述第一发送模块,还用于向所述卡片发送读取验证信息记录的命令具体为:还用于根据所述应用文件***列表向所述卡片发送读取验证信息记录的命令。
25.如权利要求24所述的***,其特征在于,
所述第三判断模块还用于根据所述应用文件***列表判断读取的所述验证信息记录是否为最后一条验证信息记录,
所述替换更新模块,具体用于当所述第三判断模块判断读取的所述验证信息记录为最后一条验证信息记录时,将所述卡片缓存区中的所述更新的扩展应用文件记录替换卡片中的所述指定扩展应用文件记录,根据所述卡片缓存区中的所述第一操作结果更新所述卡片数据;
所述读取模块,还用于当第三判断模块判断读取的所述验证信息记录不是最后一条验证信息记录时,根据所述读命令读取所述验证信息记录。
26.如权利要求19所述***,其特征在于,
所述第一生成模块,用于根据所述终端操作状态设置所述指定扩展应用文件记录中的所述记录状态,根据所述终端的站点编号设置所述指定扩展应用文件记录中的所述记录站点编号,根据重新设置的所述记录状态和所述记录站点编号生成更新的扩展应用文件记录,根据所述更新的扩展应用文件记录生成更新扩展数据缓存命令,具体为:用于生成安全报文,所述终端根据所述终端操作状态设置所述指定扩展应用文件记录中的所述记录状态,根据所述终端的站点编号设置所述指定扩展应用文件记录中的所述记录站点编号,根据重新设置的所述记录状态和所述记录站点编号生成更新的扩展应用文件记录,根据所述更新的扩展应用文件记录和所述安全报文生成更新扩展数据缓存命令;
所述卡片还包括:
第二验证模块,还用于验证更新扩展数据缓存命令中所述安全报文是否合法;
所述写入模块,还用于将所述更新扩展数据缓存命令中更新的扩展应用文件记录写入所述卡片缓存区具体为:还用于当所述第二验证模块的验证结果为是时,将所述更新扩展数据缓存命令中更新的扩展应用文件记录写入所述卡片缓存区;
所述第二生成模块,还用于生成更新扩展数据缓存命令的响应具体为:还用于当所述第二验证模块的验证结果为是时,生成写入成功返回码,根据所述写入成功返回码生成更新扩展数据缓存命令的响应;所述第二验证模块的验证结果为否时,生成写入失败返回码,根据所述写入失败返回码生成更新扩展数据缓存命令的响应;
所述第一判断模块,还用于判断所述更新扩展数据缓存命令的响应中的返回码是否为写入成功返回码;
所述第一发送模块还用于向所述卡片发送读取验证信息记录的命令具体为:还用于当所述第一判断模块判断所述更新扩展数据缓存命令的响应中的返回码为写入成功返回码时,向所述卡片发送读取验证信息记录的命令;
所述提示模块,还用于当所述第一判断模块判断所述更新扩展数据缓存命令的响应中的返回码不是写入成功返回码时,提示操作失败。
27.如权利要求19所述的***,其特征在于,
所述替换更新模块,具体用于将所述卡片缓存区中的所述更新的扩展应用文件记录替换卡片中的所述指定扩展应用文件记录,从所述卡片数据扣除所述第一操作结果。
28.如权利要求19所述的***,其特征在于,
所述计算模块根据终端站点编号和所述读取的指定扩展应用文件记录中的记录站点编号进行计算,得到所述第一操作结果可以被替换为:所述计算模块根据终端时间和所述读取的指定扩展应用文件记录中的记录时间进行计算,得到所述第一操作结果;
所述第一生成模块根据所述终端的站点编号设置所述指定扩展应用文件记录中的所述记录站点编号,根据重新设置的所述记录状态和所述记录站点编号生成更新的扩展应用文件记录可以被替换为:所述第一生成模块根据所述终端时间设置所述指定扩展应用文件记录中的所述记录时间,根据重新设置的所述记录状态和所述记录时间生成更新的扩展应用文件记录。
29.一种对智能卡分段操作的***,其特征在于,所述***包括:终端和卡片,所述终端包括:
第一发送模块,用于向所述卡片发送选择应用的指令;还用于当第一判断模块根据第二发送模块向所述终端返回选择应用的响应数据判断所述卡片支持分段操作后,向所述卡片发送读取指定扩展应用文件的指令;还用于将组织模块组成的组成获取处理选项命令发送给所述卡片;还用于将第一生成模块生成的更新扩展数据缓存命令发送给卡片;还用于向所述卡片发送读取验证信息记录的命令;
所述第一判断模块,用于根据所述选择应用的响应数据判断所述卡片是否支持分段操作;
第二判断模块,用于判断所述指定扩展应用文件记录中记录状态;如果所述记录状态为上车状态,还用于判断终端站点编号与所述指定扩展应用文件记录中的记录站点编号是否相同;还用于判断获取处理选项命令响应中的判断结果是否为脱机操作批准;
计算模块,用于当所述第二判断模块判断所述记录状态为下车状态时将第一预设值计为第一操作结果;还用于当所述第二判断模块判断终端站点编号与所述指定扩展应用文件记录中的记录站点编号不相同时,根据终端站点编号和所述读取的指定扩展应用文件记录中的记录站点编号进行计算,得到所述第一操作结果;
提示模块,用于当所述第二判断模块判断终端站点编号与所述指定扩展应用文件记录中的记录站点编号相同时,提示操作失败;还用于当所述第一判断模块根据所述选择应用的响应数据判断所述卡片不支持分段操作时,提示操作失败;还用于第一验证模块验证成功后,提示操作成功,还用于所述第一验证模块验证失败后,提示操作失败;
所述组织模块,用于根据所述第一操作结果组成获取处理选项命令;
所述第一生成模块,用于更改所述指定扩展应用文件记录中的所述记录状态,根据所述终端站点编号设置所述指定扩展应用文件记录中的所述记录站点编号,根据重新更改的所述记录状态和设置的所述记录站点编号生成更新的扩展应用文件记录,根据所述更新的扩展应用文件记录生成更新扩展数据缓存命令;
所述第一验证模块,用于根据所述验证信息记录对卡片的合法性进行验证;
所述卡片包括:
所述第二发送模块,用于向所述终端返回选择应用的响应数据;还用于当所述第一发送模块向所述卡片发送读取指定扩展应用文件的指令后向所述终端返回指定扩展应用文件记录;还用于将第二生成模块生成的获取处理选项命令的响应发送给所述终端;还用于将更新扩展数据缓存命令的响应发送给所述终端;用于将读取模块读取的验证信息记录发送给所述终端;
第三判断模块,用于根据卡片数据和所述获取处理选项命令中的所述第一操作结果判断是否脱机操作批准;
写入模块,用于当所述第三判断模块判断脱机操作批准时,将所述第一操作结果写入卡片缓存区;还用于将所述更新扩展数据缓存命令中更新的扩展应用文件记录写入所述卡片缓存区;
所述第二生成模块,用于根据第三判断模块的脱机操作批准的判断结果生成所述获取处理选项命令响应;还用于生成所述更新扩展数据缓存命令的响应;
所述读取模块,用于根据读命令读取所述验证信息记录;
替换更新模块,用于将所述卡片缓存区中的所述更新的扩展应用文件记录替换卡片中的所述指定扩展应用文件记录,根据所述卡片缓存区中的所述第一操作结果更新所述卡片数据。
30.如权利要求29所述的***,其特征在于,
所述第一生成模块,用于更改所述指定扩展应用文件记录中的所述记录状态,具体为:用于当所述记录状态为上车状态时,将所述指定扩展应用文件记录中的所述记录状态更改为下车状态;
所述第一生成模块,用于更改所述指定扩展应用文件记录中的所述记录状态,具体为:用于当所述记录状态为下车状态时,将所述指定扩展应用文件记录中的所述记录状态更改为上车状态。
31.如权利要求29所述的***,其特征在于,
所述第一判断模块,具体用于判断所述选择应用的响应数据中分段操作指示符的值是否为支持分段操作的预设值;
第一发送模块还用于当第一判断模块根据第二发送模块向所述终端返回选择应用的响应数据判断所述卡片支持分段操作后,向所述卡片发送读取指定扩展应用文件的指令具体为:
所述第一发送模块还用于当第一判断模块判断所述选择应用的响应数据中分段操作指示符的值为支持分段操作的预设值后,向所述卡片发送读取指定扩展应用文件的指令;
所述提示模块还用于当所述第一判断模块根据所述选择应用的响应数据判断所述卡片不支持分段操作时,提示操作失败具体为:
还用于当所述第一判断模块判断所述选择应用的响应数据中分段操作指示符的值不为支持分段操作的预设值后,提示操作失败。
32.如权利要求29所述的***,其特征在于,
所述卡片还包括:获取模块,用于获取卡片数据;
所述第三判断模块,具体用于判断所述卡片数据是否大于所述第一操作结果,如果是,则判断结果为脱机操作批准,如果否,则判断结果为脱机操作未批准。
33.如权利要求29所述的***,其特征在于,
所述第二发送模块,用于向所述终端返回选择应用的响应数据具体为:用于向所述终端返回包括应用文件***列表的选择应用的响应数据;
所述第一发送模块,还用于向所述卡片发送读取验证信息记录的命令具体为:还用于根据所述应用文件***列表向所述卡片发送读取验证信息记录的命令。
34.如权利要求33所述的***,其特征在于,
所述第三判断模块还用于根据所述应用文件***列表判断读取的所述验证信息记录是否为最后一条验证信息记录,
所述替换更新模块,具体用于当第三判断模块判断读取的所述验证信息记录为最后一条验证信息记录时,将所述卡片缓存区中的所述更新的扩展应用文件记录替换卡片中的所述指定扩展应用文件记录,根据所述卡片缓存区中的所述第一操作结果更新所述卡片数据;
所述读取模块,还用于当第三判断模块判断读取的所述验证信息记录不是最后一条验证信息记录时,根据所述读命令读取所述验证信息记录。
35.如权利要求29所述的***,其特征在于,
所述第一生成模块,用于更改所述指定扩展应用文件记录中的所述记录状态,根据所述终端站点编号设置所述指定扩展应用文件记录中的所述记录站点编号,根据重新更改的所述记录状态和设置的所述记录站点编号生成更新的扩展应用文件记录,根据所述更新的扩展应用文件记录生成更新扩展数据缓存命令,具体为:用于生成安全报文,更改所述指定扩展应用文件记录中的所述记录状态,根据所述终端站点编号设置所述指定扩展应用文件记录中的所述记录站点编号,根据重新更改的所述记录状态和设置的所述记录站点编号生成更新的扩展应用文件记录,根据所述更新的扩展应用文件记录和所述安全报文生成更新扩展数据缓存命令;
所述卡片还包括:第二验证模块,用于验证更新扩展数据缓存命令中所述安全报文是否合法;
所述写入模块,还用于将所述更新扩展数据缓存命令中更新的扩展应用文件记录写入所述卡片缓存区具体为:还用于当所述第二验证模块的验证结果为是时,将所述更新扩展数据缓存命令中更新的扩展应用文件记录写入所述卡片缓存区;
所述第二生成模块,还用于生成更新扩展数据缓存命令的响应具体为:还用于当所述第二验证模块的验证结果为是时,生成写入成功返回码,根据所述写入成功返回码生成更新扩展数据缓存命令的响应;所述第二验证模块的验证结果为否时,生成写入失败返回码,根据所述写入失败返回码生成更新扩展数据缓存命令的响应;
所述第一判断模块,还用于判断所述更新扩展数据缓存命令的响应中的返回码是否为写入成功返回码;
所述第一发送模块还用于向所述卡片发送读取验证信息记录的命令具体为:还用于当所述第一判断模块判断所述更新扩展数据缓存命令的响应中的返回码为写入成功返回码时,向所述卡片发送读取验证信息记录的命令;
所述提示模块,还用于当所述第一判断模块判断所述更新扩展数据缓存命令的响应中的返回码不是写入成功返回码时,提示操作失败。
36.如权利要求29所述的***,其特征在于,
所述替换更新模块,具体用于将所述卡片缓存区中的所述更新的扩展应用文件记录替换卡片中的所述指定扩展应用文件记录,从所述卡片数据扣除所述第一操作结果。
CN201911360758.5A 2019-12-25 2019-12-25 一种对智能卡分段操作的实现方法及*** Active CN111091379B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911360758.5A CN111091379B (zh) 2019-12-25 2019-12-25 一种对智能卡分段操作的实现方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911360758.5A CN111091379B (zh) 2019-12-25 2019-12-25 一种对智能卡分段操作的实现方法及***

Publications (2)

Publication Number Publication Date
CN111091379A CN111091379A (zh) 2020-05-01
CN111091379B true CN111091379B (zh) 2023-04-18

Family

ID=70397671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911360758.5A Active CN111091379B (zh) 2019-12-25 2019-12-25 一种对智能卡分段操作的实现方法及***

Country Status (1)

Country Link
CN (1) CN111091379B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001045051A1 (en) * 1999-10-18 2001-06-21 Stamps.Com Postal system intranet and commerce processing for on-line value bearing system
JP2003317123A (ja) * 2002-04-18 2003-11-07 Sharp Corp プリペイドカード管理システム、プリペイドカード改札機、及び、プリペイドカード券売機
WO2007056951A1 (fr) * 2005-11-16 2007-05-24 Chao Qiao Systeme et procede destines a empecher le vol de logiciels et de materiels informatiques presentant une fonction de communication
CN104504806A (zh) * 2010-12-17 2015-04-08 谷歌公司 用于非接触式智能卡的本地可信服务管理器
CN104992212A (zh) * 2015-07-24 2015-10-21 大连大学 旅游智能卡***
CN105678547A (zh) * 2015-12-28 2016-06-15 飞天诚信科技股份有限公司 一种检查持卡人身份的终端及其工作方法
CN106529925A (zh) * 2016-10-27 2017-03-22 飞天诚信科技股份有限公司 一种蓝牙可视卡及实现电子现金交易的方法
CN108764929A (zh) * 2018-06-12 2018-11-06 飞天诚信科技股份有限公司 一种带有指纹识别功能的ic卡及其工作方法
CN109658105A (zh) * 2018-12-27 2019-04-19 飞天诚信科技股份有限公司 一种可配置记录日志的方法及卡片

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080142588A1 (en) * 2006-12-13 2008-06-19 Immotec Security Systems, Ltd. RFID Access Control Intercommunication
CN102081821B (zh) * 2009-11-27 2013-08-14 ***股份有限公司 Ic卡支付***和方法以及多应用ic卡、支付终端
US10878404B2 (en) * 2010-06-29 2020-12-29 Feitian Technologies Co., Ltd. Method for operating an e-purse
US8800004B2 (en) * 2012-03-21 2014-08-05 Gary Martin SHANNON Computerized authorization system and method
JP5976458B2 (ja) * 2012-08-23 2016-08-23 株式会社東芝 Icカード、及び、携帯可能電子装置
CN103763103B (zh) * 2013-12-31 2017-02-01 飞天诚信科技股份有限公司 一种智能卡生成脱机认证凭据的方法
CN105069617B (zh) * 2015-07-27 2018-10-12 飞天诚信科技股份有限公司 一种恢复不完整交易的方法和装置
FR3061586A1 (fr) * 2016-12-30 2018-07-06 Idemia France Procede de controle d'habitudes d'utilisation et dispositif electronique apte a mettre en œuvre un tel procede

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001045051A1 (en) * 1999-10-18 2001-06-21 Stamps.Com Postal system intranet and commerce processing for on-line value bearing system
JP2003317123A (ja) * 2002-04-18 2003-11-07 Sharp Corp プリペイドカード管理システム、プリペイドカード改札機、及び、プリペイドカード券売機
WO2007056951A1 (fr) * 2005-11-16 2007-05-24 Chao Qiao Systeme et procede destines a empecher le vol de logiciels et de materiels informatiques presentant une fonction de communication
CN104504806A (zh) * 2010-12-17 2015-04-08 谷歌公司 用于非接触式智能卡的本地可信服务管理器
CN104992212A (zh) * 2015-07-24 2015-10-21 大连大学 旅游智能卡***
CN105678547A (zh) * 2015-12-28 2016-06-15 飞天诚信科技股份有限公司 一种检查持卡人身份的终端及其工作方法
CN106529925A (zh) * 2016-10-27 2017-03-22 飞天诚信科技股份有限公司 一种蓝牙可视卡及实现电子现金交易的方法
CN108764929A (zh) * 2018-06-12 2018-11-06 飞天诚信科技股份有限公司 一种带有指纹识别功能的ic卡及其工作方法
CN109658105A (zh) * 2018-12-27 2019-04-19 飞天诚信科技股份有限公司 一种可配置记录日志的方法及卡片

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于IC卡数据的定制公交线路优化;郭戎格;《北京交通大学》;20170301;全文 *

Also Published As

Publication number Publication date
CN111091379A (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
AU2011218922B2 (en) Virtual fare card and virtual fare device
US20080215375A1 (en) Communication system for indemnification insurance service
CN101916478A (zh) 一种客户端自动获取普通短信中动态密码并验证输入的方法
KR101839346B1 (ko) 클라우드 기반 지불 시스템
US20170178121A1 (en) System and method for providing instructions to a payment device
CN111899024A (zh) 用于封闭园区的刷脸支付方法、装置、电子设备以及介质
CN111091379B (zh) 一种对智能卡分段操作的实现方法及***
RU2015117515A (ru) Географическая идентификация точки продаж и отслеживание продажи
CN106779635B (zh) 一种智能卡及其卡内多账户余额共享方法
US10210512B2 (en) Transaction count synchronization in payment system
CN112037349A (zh) 一种车辆扣费方法和相关装置
CN111967872A (zh) 银行卡激活方法、装置及***
CN111402022A (zh) 一种商户对账方法和装置
CN109064316B (zh) 一种贷记卡恢复脱机消费额度的方法及装置
CN114358758A (zh) 一种数字货币硬件钱包的充值方法及相关设备
CN112132122B (zh) 一种指纹卡的实现方法及指纹卡
CN109658105B (zh) 一种可配置记录日志的方法及卡片
KR101525115B1 (ko) 이미지 인식을 이용한 스마트 보안인증 시스템 및 그 방법
CN111178873B (zh) 一种基于近距离无线通讯技术nfc的收款方法及装置
CN109978634B (zh) 自助代开***的方法及装置
CN112884971A (zh) 一种公交ic卡业务处理方法
CN114579985A (zh) 远程写卡方法、写卡终端、服务器及存储介质
CN114707985A (zh) 资源配置方法、装置及***
JPH09269965A (ja) 識別子つき資金情報を用いた電子決済方法および装置
CN117236962B (zh) 一种开放式的预约电子支付***及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant