首页 / 专利库 / 银行与财务事项 / 电子钱包 / 一种不同应用之间信息共享的实现方法及装置

一种不同应用之间信息共享的实现方法及装置

阅读:643发布:2020-05-11

专利汇可以提供一种不同应用之间信息共享的实现方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 公开一种不同应用之间信息共享的实现方法及装置,该方法包括:当卡片接收到上位机下发的选择应用指令时卡片判断需要选择的应用,如为 电子 钱包应用则卡片用电子现金应用下的当前电子现金信息同步 电子钱包 应用当前电子钱包数据,当卡片判断 访问 电子钱包数据的条件满足要求时,根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,将处理结果返回给上位机;如为电子现金应用则卡片用电子钱包应用下的当前电子钱包数据中的电子钱包余额同步电子现金应用下的当前电子现金信息中的电子现金余额,当卡片判断访问电子现金数据的条件满足要求时,根据接收到的访问电子现金数据指令对当前电子现金信息进行处理,将处理结果返回给上位机。,下面是一种不同应用之间信息共享的实现方法及装置专利的具体信息内容。

1.一种不同应用之间信息共享的实现方法,其特征在于,包括:
步骤S1:卡片等待并接收上位机下发的选择应用指令,当接收到选择应用指令时所述卡片判断需要选择的应用,如为电子钱包应用则执行步骤S2,如为电子现金应用则执行步骤S3;
步骤S2:所述卡片用电子现金应用下的当前电子现金信息同步所述电子钱包应用当前电子钱包数据,当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,并将处理结果返回给所述上位机;
步骤S3:所述卡片用电子钱包应用下的当前电子钱包数据中的电子钱包余额同步所述电子现金应用下的当前电子现金信息中的电子现金余额,当所述卡片判断访问电子现金数据的条件满足要求时,所述卡片根据接收到的访问电子现金数据指令对当前电子现金信息进行处理,并将处理结果返回给所述上位机;
所述卡片用电子现金应用下的当前电子现金信息同步所述电子钱包应用当前电子钱包数据,包括:
步骤A1:所述卡片根据电子现金信息变化标识判断电子现金信息是否发生了变化,是则执行步骤A2,否则继续;
步骤A2:所述卡片获取所述电子现金信息中的电子现金余额和电子现金已透支金额并更新电子钱包余额和电子钱包已透支金额,清除所述电子现金信息变化标志,继续;
所述卡片用电子钱包应用下的当前电子钱包数据中的电子钱包余额同步所述电子现金应用下的当前电子现金信息中的电子现金余额,包括:
步骤P1:所述卡片根据电子钱包余额变化标识判断电子钱包余额是否发生了变化,是则执行步骤P2,否则继续;
步骤P2:所述卡片用所述电子钱包余额更新电子现金余额,清除所述电子钱包余额变化标识;
当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,包括:
当所述卡片接收到的访问电子钱包数据指令为复合消费文件更新指令时,执行步骤F1;
步骤F1:所述卡片判断所述复合消费文件更新操作条件是否满足第八要求,是则执行步骤F2,否则报错,结束;
步骤F2:所述卡片根据所述复合消费文件更新指令判断是否存在对应的电子现金的扩展应用文件,是则执行步骤F3,否则执行步骤F4;
步骤F3:所述卡片用所述复合消费文件更新指令的数据域中的记录内容更新电子现金信息,并给所述上位机返回成功响应,等待接收所述上位机下发的指令;
步骤F4:所述卡片用所述复合消费文件更新指令的数据域中的记录内容更新电子钱包余额,并给所述上位机返回成功响应,等待接收所述上位机下发的指令。
2.如权利要求1所述的方法,其特征在于,当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,包括:
当所述卡片接收到的访问电子钱包数据指令为圈存指令时,所述卡片判断圈存操作条件是否满足第一要求,是则所述卡片用保存的圈存金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识,给所述上位机返回成功响应,等待接收所述上位机下发的指令;否则报错,结束。
3.如权利要求2所述的方法,其特征在于,所述卡片判断圈存操作条件是否满足第一要求,包括:
所述卡片判断所述圈存指令是否正确,所述卡片判断当前安全状态是否为第一安全状态,所述卡片判断所述圈存指令的数据域中的MAC值是否正确,所述卡片判断交易认证码密钥是否存在,如上述四个的判断结果均为是,则圈存操作条件满足第一要求,否则圈存操作条件不满足第一要求。
4.如权利要求1所述的方法,其特征在于,当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,包括:
当所述卡片接收到的访问电子钱包数据指令为消费指令时,所述卡片判断消费操作条件是否满足第二要求,是则所述卡片根据保存的消费金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识,给所述上位机返回成功响应,等待接收所述上位机下发的指令;否则报错,结束。
5.如权利要求4所述的方法,其特征在于,所述卡片判断消费操作条件是否满足第二要求,包括:
所述卡片判断所述消费指令是否正确,所述卡片判断当前安全状态是否为第二安全状态或第三安全状态,所述卡片判断所述消费指令的数据域中的MAC值是否正确,所述卡片判断交易认证码密钥是否存在,如上述四个均判断为是,则消费操作条件满足第二要求,否则消费操作条件不满足第二要求。
6.如权利要求4所述的方法,其特征在于,所述设置电子钱包余额变化标识与给所述上位机返回成功响应之间包括:
步骤B1:所述卡片判断当前安全状态是否为第三安全状态,是则执行步骤B2,否则等待接收所述上位机下发的指令;
步骤B2:所述卡片判断电子现金应用中是否有对应的扩展应用记录文件,是则执行步骤B3,否则执行步骤B4;
步骤B3:所述卡片将复合应用记录缓存中的数据更新到电子现金的扩展应用记录文件中,继续;
步骤B4:所述卡片将复合应用记录缓存中的数据更新到电子钱包的复合交易记录文件中,继续。
7.如权利要求1所述的方法,其特征在于,当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,包括:
当所述卡片接收到的访问电子钱包数据指令为圈存初始化指令时,所述卡片判断圈存初始化操作条件是否满足第五要求,是则所述卡片保存所述圈存初始化指令的数据域中的所述圈存金额,设置第一安全状态,并给所述上位机返回成功响应,等待接收所述上位机下发的指令,否则报错,结束。
8.如权利要求7所述的方法,其特征在于,所述卡片判断圈存初始化操作条件是否满足第五要求,包括:
所述卡片判断所述圈存初始化指令是否正确,所述卡片根据所述圈存初始化指令的数据域中的圈存密钥索引判断对应的圈存密钥是否存在,所述卡片判断所述圈存初始化指令的数据域中的圈存金额加上当前电子钱包余额的结果是否超过电子现金余额上限值,如上述三个的判断结果均为是,则圈存初始化操作条件满足第五要求,否则圈存初始化操作条件不满足第五要求。
9.如权利要求1所述的方法,其特征在于,当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,包括:
当所述卡片接收到的访问电子钱包数据指令为消费初始化指令时,所述卡片判断消费初始化操作条件是否满足第六要求,是则所述卡片设置第二安全状态,并给所述上位机返回成功响应,等待接收所述上位机下发的指令;否则报错,结束。
10.如权利要求9所述的方法,其特征在于,所述卡片判断消费初始化操作条件是否满足第六要求,包括:
所述卡片判断所述消费初始化指令是否正确,所述卡片根据所述消费初始化指令的数据域中的消费密钥索引判断对应的消费密钥是否存在,所述卡片判断所述消费初始化指令的数据域中的消费金额是否超过电子钱包余额,如上述三个的判断结果均为是,则消费初始化操作条件满足第六要求,否则消费初始化操作条件不满足第六要求。
11.如权利要求1所述的方法,其特征在于,当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,包括:
当所述卡片接收到的访问电子钱包数据指令为复合消费初始化指令时,所述卡片判断复合消费初始化操作条件是否满足第七要求,是则所述卡片设置第三安全状态,并给所述上位机返回成功响应,等待接收所述上位机下发的指令;否则报错,结束。
12.如权利要求11所述的方法,其特征在于,所述卡片判断复合消费初始化操作条件是否满足第七要求,包括:
所述卡片判断所述复合消费初始化指令是否正确,所述卡片根据所述复合消费初始化指令的数据域中的复合消费密钥索引判断对应的复合消费密钥是否存在,所述卡片判断所述复合消费初始化指令的数据域中的消费金额是否超过电子钱包余额,如上述三个的判断结果均为是,则复合消费初始化操作条件满足第七要求,否则复合消费初始化操作条件不满足第七要求。
13.如权利要求1所述的方法,其特征在于,所述卡片判断所述复合消费文件更新操作条件是否满足第八要求,包括:
所述卡片根据所述复合消费文件更新指令中的短文件标识符判断是否存在预置的电子钱包的复合交易记录文件,所述卡片根据复合消费文件更新指令中的记录标识符判断所述电子钱包的复合交易文件中的对应记录是否存在,所述卡片判断所述复合消费文件更新指令中的记录长度是否正确,如上述三个的判断结果均为是,则复合消费文件更新操作条件满足第八要求,否则复合消费文件更新操作条件不满足第八要求。
14.如权利要求1所述的方法,其特征在于,当前电子现金信息中的电子现金余额,当所述卡片判断访问电子现金数据的条件满足要求时,所述卡片根据接收到的访问电子现金数据指令对当前电子现金信息进行处理,包括:
当所述卡片接收到的访问电子现金数据指令为读记录指令时,所述卡片判断读记录操作条件是否满足第三要求,是则所述卡片根据当前实际可用的电子现金余额和交易金额更新电子现金余额信息,设置电子现金信息变化标志,给所述上位机返回成功响应,等待接收所述上位机下发的指令,否则报错,结束。
15.如权利要求14所述的方法,其特征在于,所述卡片判断读记录操作条件是否满足第三要求,包括:
步骤X1:所述卡片根据所述读记录指令的第四字节上的数据判断电子现金应用中是否存在对应文件,是则执行步骤X2,否则报错,结束;
步骤X2:所述卡片根据所述读记录指令的第三字节上的数据判断电子现金应用中的对应文件中的对应数据是否存在,是则将对应数据作为当前数据,执行步骤X3,否则报错,结束;
步骤X3:所述卡片判断当前安全状态是否满足条件,是则执行步骤X4,否则给所述上位机返回当前数据,等待接收所述上位机下发的指令;
步骤X4:所述卡片判断当前数据是否为文件定位符的最后一条未读数据,是则读记录操作条件满足第三要求,否则执行步骤X5;
步骤X5:所述卡片给所述上位机返回当前数据,等待接收所述上位机下发的指令。
16.如权利要求14所述的方法,其特征在于,所述设置电子现金信息变化标志与给所述上位机返回成功响应之间还包括:
步骤W1:所述卡片判断是否收到过更新扩展应用记录缓存指令,是则执行步骤W3,否则执行步骤W2;
步骤W2:所述卡片清除电子现金应用内部设置的标志位,给所述上位机返回当前数据,等待接收所述上位机下发的指令;
步骤W3:所述卡片将所述更新扩展应用记录缓存指令中的数据保存到电子现金的复合交易记录文件中,清除电子现金应用内部设置的标志位,给所述上位机返回当前数据,等待接收所述上位机下发的指令。
17.如权利要求1所述的方法,其特征在于,当前电子现金信息中的电子现金余额,当所述卡片判断访问电子现金数据的条件满足要求时,所述卡片根据接收到的访问电子现金数据指令对当前电子现金信息进行处理,包括:
当所述卡片接收到的访问电子现金数据指令为修改数据指令时,所述卡片判断修改数据操作条件是否满足第四要求,是则所述卡片使用所述修改数据指令的数据域中的金额更新电子现金余额,设置电子现金信息变化标志,给所述上位机返回成功响应,等待接收所述上位机下发的指令;否则报错,结束。
18.如权利要求17所述的方法,其特征在于,所述卡片判断修改数据操作条件是否满足第四要求,包括:
所述卡片判断所述修改数据指令是否正确,所述卡片判断所述修改数据指令中的标签编码是否合法,所述卡片判断所述修改数据指令中的标签值的长度是否正确,所述卡片判断所述修改数据指令的数据域中的MAC值是否正确,如上述四个的判断结果均为是,则修改数据操作条件满足第四要求,否则修改数据操作条件不满足第四要求。
19.如权利要求17所述的方法,其特征在于,所述卡片使用所述修改数据指令的数据域中的金额更新电子现金余额,设置电子现金信息变化标志,给所述上位机返回成功响应,等待接收所述上位机下发的指令,包括:
步骤D1:所述卡片判断所述修改数据指令中的标签是否为预设数据,是则执行步骤D2,否则等待接收所述上位机下发的指令;
步骤D2:所述卡片使用所述修改数据指令的数据域中的金额更新电子现金余额,并设置电子现金信息变化标识,给所述上位机返回成功响应,等待接收所述上位机下发的指令。
20.一种不同应用之间信息共享的实现装置,其特征在于,包括:
接收模,用于等待并接收上位机下发的指令;
第一判断模块,用于当所述接收模块接收到选择应用指令时判断需要选择的应用,如为电子钱包应用则触发第一同步模块工作,如为电子现金应用则触发第二同步模块工作;
所述第一同步模块,用于用电子现金应用下的当前电子现金信息同步所述电子钱包应用当前电子钱包数据;
第一处理模块,用于当访问电子钱包数据的条件满足要求时,根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理;
所述第二同步模块,用于用电子钱包应用下的当前电子钱包数据中的电子钱包余额同步所述电子现金应用下的当前电子现金信息中的电子现金余额;
第二处理模块,用于当访问电子现金数据的条件满足要求时,根据接收到的访问电子现金数据指令对当前电子现金信息进行处理;
返回模块,用于将所述第一处理模块或第二处理模块的处理结果返回给所述上位机;
所述第一同步模块包括:
第一判断单元,用于根据电子现金信息变化标识判断电子现金信息是否发生了变化,是则触发第一更新清除单元工作,否则触发所述第一处理模块工作;
所述第一更新清除单元,用于获取所述电子现金信息中的电子现金余额和电子现金已透支金额并更新电子钱包余额和电子钱包已透支金额,清除所述电子现金信息变化标志,触发所述第一处理模块工作;
所述第二同步模块包括:
第十一判断单元,用于根据电子钱包余额变化标识判断电子钱包余额是否发生了变化,是则触发第二更新清除单元工作,否则触发所述第二处理模块工作;
所述第二更新清除单元,用于用所述电子钱包余额更新电子现金余额,清除所述电子钱包余额变化标识,触发所述第二处理模块工作;
所述第一处理模块,包括:
第九判断单元,用于当所述接收模块接收到复合消费文件更新指令时,判断所述复合消费文件更新操作条件是否满足第八要求,是则触发第十判断单元工作,否则触发报错单元工作;
所述报错单元,用于报错;
所述第十判断单元,用于根据所述复合消费文件更新指令判断是否存在对应的电子现金的扩展应用文件,是则触发第三更新单元工作,否则触发第四更新单元工作;
所述第三更新单元,用于用所述复合消费文件更新指令的数据域中的记录内容更新电子现金信息;
所述第四更新单元,用于用所述复合消费文件更新指令的数据域中的记录内容更新电子钱包余额;
所述返回模块还用于给所述上位机返回成功响应。
21.如权利要求20所述的装置,其特征在于,所述第一处理模块,包括:
第二判断单元,用于当所述接收模块接收到圈存指令时,判断圈存操作条件是否满足第一要求,是则触发第一更新设置单元工作,否则触发报错单元工作;
所述第一更新设置单元,用于用保存的圈存金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识;
所述返回模块还用于给所述上位机返回成功响应;
所述报错单元,用于报错。
22.如权利要求21所述的装置,其特征在于,所述第二判断单元具体用于判断所述圈存指令是否正确,判断当前安全状态是否为第一安全状态,判断所述圈存指令的数据域中的MAC值是否正确,判断交易认证码密钥是否存在,如上述四个的判断结果均为是,则圈存操作条件满足第一要求,否则圈存操作条件不满足第一要求。
23.如权利要求20所述的装置,其特征在于,所述第一处理模块,包括:
第三判断单元,用于当所述接收模块接收到消费指令时,判断消费操作条件是否满足第二要求,是则触发第二更新设置单元工作,否则触发报错单元工作;
所述第二更新设置单元,用于根据保存的消费金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识;
所述返回模块还用于给所述上位机返回成功响应;
所述报错单元,用于报错。
24.如权利要求23所述的装置,其特征在于,所述第三判断单元具体用于判断所述消费指令是否正确,判断当前安全状态是否为第二安全状态或第三安全状态,判断所述消费指令的数据域中的MAC值是否正确,判断交易认证码密钥是否存在,如上述四个均判断为是,则消费操作条件满足第二要求,否则消费操作条件不满足第二要求。
25.如权利要求23所述的装置,其特征在于,所述第一处理模块还包括:
第四判断单元,用于判断当前安全状态是否为第三安全状态,是则触发第五判断单元工作,否则触发所述接收模块工作;
所述第五判断单元,用于判断电子现金应用中是否有对应的扩展应用记录文件,是则触发第一更新单元工作,否则触发第二更新单元工作;
所述第一更新单元,用于将复合应用记录缓存中的数据更新到电子现金的扩展应用记录文件中;
所述第二更新单元,用于将复合应用记录缓存中的数据更新到电子钱包的复合交易记录文件中。
26.如权利要求20所述的装置,其特征在于,所述第一处理模块,包括:
第六判断单元,用于当所述接收模块接收到圈存初始化指令时,判断圈存初始化操作条件是否满足第五要求,是则触发第一保存设置单元工作,否则触发报错单元工作;
所述第一保存设置单元,用于保存所述圈存初始化指令的数据域中的所述圈存金额,设置第一安全状态;
所述返回模块还用于给所述上位机返回成功响应;
所述报错单元,用于报错。
27.如权利要求26所述的装置,其特征在于,所述第六判断单元具体用于判断所述圈存初始化指令是否正确,根据所述圈存初始化指令的数据域中的圈存密钥索引判断对应的圈存密钥是否存在,判断所述圈存初始化指令的数据域中的圈存金额加上当前电子钱包余额的结果是否超过电子现金余额上限值,如上述三个的判断结果均为是,则圈存初始化操作条件满足第五要求,否则圈存初始化操作条件不满足第五要求。
28.如权利要求20所述的装置,其特征在于,所述第一处理模块,包括:
第七判断单元,用于当所述接收模块接收到消费初始化指令时,判断消费初始化操作条件是否满足第六要求,是则触发第一设置单元工作,否则触发报错单元工作;
所述第一设置单元,用于设置第二安全状态;
所述返回模块还用于给所述上位机返回成功响应;
所述报错单元,用于报错。
29.如权利要求28所述的装置,其特征在于,所述第七判断单元具体用于判断所述消费初始化指令是否正确,根据所述消费初始化指令的数据域中的消费密钥索引判断对应的消费密钥是否存在,判断所述消费初始化指令的数据域中的消费金额是否超过电子钱包余额,如上述三个的判断结果均为是,则消费初始化操作条件满足第六要求,否则消费初始化操作条件不满足第六要求。
30.如权利要求20所述的装置,其特征在于,所述第一处理模块,包括:
第八判断单元,用于当所述接收模块接收到复合消费初始化指令时,判断复合消费初始化操作条件是否满足第七要求,是则触发第二设置单元工作,否则触发报错单元工作;
所述第二设置单元,用于设置第三安全状态;
所述返回模块还用于给所述上位机返回成功响应;
所述报错单元还用于报错。
31.如权利要求30所述的装置,其特征在于,所述第八判断单元具体用于判断所述复合消费初始化指令是否正确,根据所述复合消费初始化指令的数据域中的复合消费密钥索引判断对应的复合消费密钥是否存在,判断所述复合消费初始化指令的数据域中的消费金额是否超过电子钱包余额,如上述三个的判断结果均为是,则复合消费初始化操作条件满足第七要求,否则复合消费初始化操作条件不满足第七要求。
32.如权利要求20所述的装置,其特征在于,所述第九判断单元,具体用于根据所述复合消费文件更新指令中的短文件标识符判断是否存在预置的电子钱包的复合交易记录文件,根据复合消费文件更新指令中的记录标识符判断所述电子钱包的复合交易文件中的对应记录是否存在,判断所述复合消费文件更新指令中的记录长度是否正确,如上述三个的判断结果均为是,则复合消费文件更新操作条件满足第八要求,否则复合消费文件更新操作条件不满足第八要求。
33.如权利要求20所述的装置,其特征在于,所述第二处理模块包括:
第十二判断单元,用于当所述接收模块接收到读记录指令时,判断读记录操作条件是否满足第三要求,是则触发第三更新设置单元工作,否则触发报错单元工作;
所述第三更新设置单元,用于根据当前实际可用的电子现金余额和交易金额更新电子现金余额信息,设置电子现金信息变化标志;
所述返回模块还用于给所述上位机返回成功响应;
所述报错单元用于报错。
34.如权利要求33所述的装置,其特征在于,所述第十二判断单元,包括:
第一判断子单元,用于根据所述读记录指令的第四字节上的数据判断电子现金应用中是否存在对应文件,是则触发第二判断子单元工作,否则触发报错单元工作;
所述第二判断子单元,用于根据所述读记录指令的第三字节上的数据判断电子现金应用中的对应文件中的对应数据是否存在,是则将对应数据作为当前数据,触发第三判断子单元工作,否则触发报错单元工作;
所述第三判断子单元,用于判断当前安全状态是否满足条件,是则触发第四判断子单元工作,否则触发返回模块工作;
所述返回模块用于给所述上位机返回当前数据;
所述第四判断子单元,用于判断当前数据是否为文件定位符的最后一条未读数据,是则触发所述第三更新设置单元工作,否则触发所述返回模块工作。
35.如权利要求33所述的装置,其特征在于,所述第二处理模块还包括:
第十三判断单元,用于判断是否收到过更新扩展应用记录缓存指令,是则触发第三更新清除单元工作,否则第一清除模块单元;
所述第一清除单元,用于清除电子现金应用内部设置的标志位;
所述返回模块还用于给所述上位机返回当前数据;
所述第三更新清除单元,用于将所述更新扩展应用记录缓存指令中的数据保存到电子现金的复合交易记录文件中,清除电子现金应用内部设置的标志位。
36.如权利要求20所述的装置,其特征在于,第二处理模块,包括:
第十四判断单元,用于当所述接收模块接收到修改数据指令时,判断修改数据操作条件是否满足第四要求,是则触发第四更新设置单元工作,否则触发报错单元工作;
第四更新设置单元,用于使用所述修改数据指令的数据域中的金额更新电子现金余额,设置电子现金信息变化标志,触发返回模块工作;
所述返回模块还用于给所述上位机返回成功响应;
所述报错单元,用于报错。
37.如权利要求36所述的装置,其特征在于,所述第十四判断单元具体用于判断所述修改数据指令是否正确,判断所述修改数据指令中的标签编码是否合法,判断所述修改数据指令中的标签值的长度是否正确,判断所述修改数据指令的数据域中的MAC值是否正确,如上述四个的判断结果均为是,则修改数据操作条件满足第四要求,否则修改数据操作条件不满足第四要求。
38.如权利要求36所述的装置,其特征在于,所述第四更新设置单元包括:
第十五判断子单元,用于判断所述修改数据指令中的标签是否为预设数据,是则触发第五更新设置单元工作,否则触发所述接收模块工作;
所述第五更新设置子单元,用于使用所述修改数据指令的数据域中的金额更新电子现金余额,并设置电子现金信息变化标识。

说明书全文

一种不同应用之间信息共享的实现方法及装置

技术领域

[0001] 本发明涉及信息安全领域,尤其涉及一种不同应用之间信息共享的实现方法及装置。

背景技术

[0002] 在现在技术中,电子商务活动一般都是通过电子钱包来实现的,但是由于受理环境、地方要求、结算系统的区别等因素,有时需要通过电子现金来使用,但是由于电子钱包和电子现金的特点使两者无法一个卡片里同时使用,如要想卡片既能兼容老的系统、适用老的交易,同时也要兼容新的系统,新环境的卡片,就需要将电子钱包和电子现金中的信息进行共享。如何将卡片中的电子钱包和电子现金中的信息共享是现有技术亟待解决的问题。

发明内容

[0003] 本发明的目的是为了克服现有技术的不足,提供一种不同应用之间信息共享的实现方法及装置。
[0004] 本发明提供了一种不同应用之间信息共享的实现方法,包括:1、一种不同应用之间信息共享的实现方法,其特征在于,包括:
[0005] 步骤S1:卡片等待并接收上位机下发的选择应用指令,当接收到选择应用指令时所述卡片判断需要选择的应用,如为电子钱包应用则执行步骤S2,如为电子现金应用则执行步骤S3;
[0006] 步骤S2:所述卡片用电子现金应用下的当前电子现金信息同步所述电子钱包应用当前电子钱包数据,当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,并将处理结果返回给所述上位机;
[0007] 步骤S3:所述卡片用电子钱包应用下的当前电子钱包数据中的电子钱包余额同步所述电子现金应用下的当前电子现金信息中的电子现金余额,当所述卡片判断访问电子现金数据的条件满足要求时,所述卡片根据接收到的访问电子现金数据指令对当前电子现金信息进行处理,并将处理结果返回给所述上位机。
[0008] 进一步地,所述卡片用电子现金应用下的当前电子现金信息同步所述电子钱包应用当前电子钱包数据,包括:
[0009] 步骤A1:所述卡片根据电子现金信息变化标识判断电子现金信息是否发生了变化,是则执行步骤A2,否则继续;
[0010] 步骤A2:所述卡片获取所述电子现金信息中的电子现金余额和电子现金已透支金额并更新电子钱包余额和电子钱包已透支金额,清除所述电子现金信息变化标志,继续。
[0011] 进一步地,当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,包括:
[0012] 当所述卡片接收到的访问电子钱包数据指令为圈存指令时,所述卡片判断圈存操作条件是否满足第一要求,是则所述卡片用保存的圈存金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识,给所述上位机返回成功响应,等待接收所述上位机下发的指令;否则报错,结束。
[0013] 进一步地,所述卡片判断圈存操作条件是否满足第一要求,包括:
[0014] 所述卡片判断所述圈存指令是否正确,所述卡片判断当前安全状态是否为第一安全状态,所述卡片判断所述圈存指令的数据域中的MAC值是否正确,所述卡片判断交易认证码密钥是否存在,如上述四个的判断结果均为是,则圈存操作条件满足第一要求,否则圈存操作条件不满足第一要求。
[0015] 进一步地,当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,包括:
[0016] 当所述卡片接收到的访问电子钱包数据指令为消费指令时,所述卡片判断消费操作条件是否满足第二要求,是则所述卡片根据保存的消费金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识,给所述上位机返回成功响应,等待接收所述上位机下发的指令;否则报错,结束。
[0017] 进一步地,所述卡片判断消费操作条件是否满足第二要求,包括:
[0018] 所述卡片判断所述消费指令是否正确,所述卡片判断当前安全状态是否为第二安全状态或第三安全状态,所述卡片判断所述消费指令的数据域中的MAC值是否正确,所述卡片判断交易认证码密钥是否存在,如上述四个均判断为是,则消费操作条件满足第二要求,否则消费操作条件不满足第二要求。
[0019] 进一步地,所述设置电子钱包余额变化标识与给所述上位机返回成功响应之间包括:
[0020] 步骤B1:所述卡片判断当前安全状态是否为所述第三安全状态,是则执行步骤B2,否则等待接收所述上位机下发的指令;
[0021] 步骤B2:所述卡片判断电子现金应用中是否有对应的扩展应用记录文件,是则执行步骤B3,否则执行步骤B4;
[0022] 步骤B3:所述卡片将复合应用记录缓存中的数据更新到电子现金的扩展应用记录文件中,继续;
[0023] 步骤B4:所述卡片将复合应用记录缓存中的数据更新到电子钱包的复合交易记录文件中,继续。
[0024] 进一步地,当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,包括:
[0025] 当所述卡片接收到的访问电子钱包数据指令为圈存初始化指令时,所述卡片判断圈存初始化操作条件是否满足第五要求,是则所述卡片保存所述圈存初始化指令的数据域中的所述圈存金额,设置第一安全状态,并给所述上位机返回成功响应,等待接收所述上位机下发的指令,否则报错,结束。
[0026] 进一步地,所述卡片判断圈存初始化操作条件是否满足第五要求,包括:
[0027] 所述卡片判断所述圈存初始化指令是否正确,所述卡片根据所述圈存初始化指令的数据域中的圈存密钥索引判断对应的圈存密钥是否存在,所述卡片判断所述圈存初始化指令的数据域中的圈存金额加上当前电子钱包余额的结果是否超过电子现金余额上限值,如上述三个的判断结果均为是,则圈存初始化操作条件满足第五要求,否则圈存初始化操作条件不满足第五要求。
[0028] 进一步地,当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,包括:
[0029] 当所述卡片接收到的访问电子钱包数据指令为消费初始化指令时,所述卡片判断消费初始化操作条件是否满足第六要求,是则所述卡片设置第二安全状态,并给所述上位机返回成功响应,等待接收所述上位机下发的指令;否则报错,结束。
[0030] 进一步地,所述卡片判断消费初始化操作条件是否满足第六要求,包括:
[0031] 所述卡片判断所述消费初始化指令是否正确,所述卡片根据所述消费初始化指令的数据域中的消费密钥索引判断对应的消费密钥是否存在,所述卡片判断所述消费初始化指令的数据域中的消费金额是否超过电子钱包余额,如上述三个的判断结果均为是,则消费初始化操作条件满足第六要求,否则消费初始化操作条件不满足第六要求。
[0032] 进一步地,当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,包括:
[0033] 当所述卡片接收到的访问电子钱包数据指令为复合消费初始化指令时,所述卡片判断复合消费初始化操作条件是否满足第七要求,是则所述卡片设置所述第三安全状态,并给所述上位机返回成功响应,等待接收所述上位机下发的指令;否则报错,结束。
[0034] 进一步地,所述卡片判断复合消费初始化操作条件是否满足第七要求,包括:
[0035] 所述卡片判断所述复合消费初始化指令是否正确,所述卡片根据所述复合消费初始化指令的数据域中的复合消费密钥索引判断对应的复合消费密钥是否存在,所述卡片判断所述复合消费初始化指令的数据域中的消费金额是否超过电子钱包余额,如上述三个的判断结果均为是,则复合消费初始化操作条件满足第七要求,否则复合消费初始化操作条件不满足第七要求。
[0036] 进一步地,当所述卡片判断访问电子钱包数据的条件满足要求时,所述卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,包括:
[0037] 当所述卡片接收到的访问电子钱包数据指令为复合消费文件更新指令时,执行步骤F1;
[0038] 步骤F1:所述卡片判断所述复合消费文件更新操作条件是否满足第八要求,是则执行步骤F2,否则报错,结束;
[0039] 步骤F2:所述卡片根据所述复合消费文件更新指令判断是否存在对应的电子现金的扩展应用文件,是则执行步骤F3,否则执行步骤F4;
[0040] 步骤F3:所述卡片用所述复合消费文件更新指令的数据域中的记录内容更新电子现金信息,并给所述上位机返回成功响应,等待接收所述上位机下发的指令;
[0041] 步骤F4:所述卡片用所述复合消费文件更新指令的数据域中的记录内容更新电子钱包余额,并给所述上位机返回成功响应,等待接收所述上位机下发的指令。
[0042] 进一步地,所述卡片判断所述复合消费文件更新操作条件是否满足第八要求,包括:
[0043] 所述卡片根据所述复合消费文件更新指令中的短文件标识符判断是否存在预置的电子钱包的复合交易记录文件,所述卡片根据复合消费文件更新指令中的记录标识符判断所述电子钱包的复合交易文件中的对应记录是否存在,所述卡片判断所述复合消费文件更新指令中的记录长度是否正确,如上述三个的判断结果均为是,则复合消费文件更新操作条件满足第八要求,否则复合消费文件更新操作条件不满足第八要求。
[0044] 进一步地,所述卡片用电子钱包应用下的当前电子钱包数据中的电子钱包余额同步所述电子现金应用下的当前电子现金信息中的电子现金余额,包括:
[0045] 步骤P1:所述卡片根据电子钱包余额变化标识判断电子钱包余额是否发生了变化,是则执行步骤P2,否则继续;
[0046] 步骤P2:所述卡片用所述电子钱包余额更新电子现金余额,清除所述电子钱包余额变化标识。
[0047] 进一步地,当前电子现金信息中的电子现金余额,当所述卡片判断访问电子现金数据的条件满足要求时,所述卡片根据接收到的访问电子现金数据指令对当前电子现金信息进行处理,包括:
[0048] 当所述卡片接收到的访问电子钱包数据指令为读记录指令时,所述卡片判断读记录操作条件是否满足第三要求,是则所述卡片根据当前实际可用的电子现金余额和交易金额更新电子现金余额信息,设置电子现金信息变化标志,给所述上位机返回成功响应,等待接收所述上位机下发的指令,否则报错,结束。
[0049] 进一步地,所述卡片判断读记录操作条件是否满足第三要求,包括:
[0050] 步骤X1:所述卡片根据所述读记录指令的第四字节上的数据判断电子现金应用中是否存在对应文件,是则执行步骤X2,否则报错,结束;
[0051] 步骤X2:所述卡片根据所述读记录指令的第三字节上的数据判断电子现金应用中的对应文件中的对应数据是否存在,是则将对应数据作为当前数据,执行步骤X3,否则报错,结束;
[0052] 步骤X3:所述卡片判断当前安全状态是否满足条件,是则执行步骤X4,否则给所述上位机返回当前数据,等待接收所述上位机下发的指令;
[0053] 步骤X4:所述卡片判断当前数据是否为文件定位符的最后一条未读数据,是则读记录操作条件满足第三要求,否则执行步骤X5;
[0054] 步骤X5:所述卡片给所述上位机返回当前数据,等待接收所述上位机下发的指令。
[0055] 进一步地,所述设置电子现金信息变化标志与给所述上位机返回成功响应之间还包括:
[0056] 步骤W1:所述卡片判断是否收到过更新扩展应用记录缓存指令,是则执行步骤W3,否则执行步骤W2;
[0057] 步骤W2:所述卡片清除电子现金应用内部设置的标志位,给所述上位机返回当前数据,等待接收所述上位机下发的指令;
[0058] 步骤W3:所述卡片将所述更新扩展应用记录缓存指令中的数据保存到电子现金的复合交易记录文件中,清除电子现金应用内部设置的标志位,给所述上位机返回当前数据,等待接收所述上位机下发的指令。
[0059] 进一步地,当前电子现金信息中的电子现金余额,当所述卡片判断访问电子现金数据的条件满足要求时,所述卡片根据接收到的访问电子现金数据指令对当前电子现金信息进行处理,包括:
[0060] 当所述卡片接收到的访问电子钱包数据指令为修改数据指令时,所述卡片判断修改数据操作条件是否满足第四要求,是则所述卡片使用所述修改数据指令的数据域中的金额更新电子现金余额,设置电子现金信息变化标志,给所述上位机返回成功响应,等待接收所述上位机下发的指令;否则报错,结束。
[0061] 进一步地,所述卡片判断修改数据操作条件是否满足第四要求,包括:
[0062] 所述卡片判断所述修改数据指令是否正确,所述卡片判断所述修改数据指令中的标签编码是否合法,所述卡片判断所述修改数据指令中的标签值的长度是否正确,所述卡片判断所述修改数据指令的数据域中的MAC值是否正确,如上述四个的判断结果均为是,则修改数据操作条件满足第四要求,否则修改数据操作条件不满足第四要求。
[0063] 进一步地,所述卡片使用所述修改数据指令的数据域中的金额更新电子现金余额,设置电子现金信息变化标志,给所述上位机返回成功响应,等待接收所述上位机下发的指令,包括:
[0064] 步骤D1:所述卡片判断所述修改数据指令中的标签是否为预设数据,是则执行步骤D2,否则等待接收所述上位机下发的指令;
[0065] 步骤D2:所述卡片使用所述修改数据指令的数据域中的金额更新电子现金余额,并设置电子现金信息变化标识,给所述上位机返回成功响应,等待接收所述上位机下发的指令。
[0066] 本发明又提供了一种不同应用之间信息共享的实现装置,包括:
[0067] 接收模,用于等待并接收上位机下发的指令;
[0068] 第一判断模块,用于当所述接收模块接收到选择应用指令时判断需要选择的应用,如为电子钱包应用则触发第一同步模块工作,如为电子现金应用则触发第二同步模块工作;
[0069] 所述第一同步模块,用于用电子现金应用下的当前电子现金信息同步所述电子钱包应用当前电子钱包数据;
[0070] 第一处理模块,用于当访问电子钱包数据的条件满足要求时,根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理;
[0071] 所述第二同步模块,用于用电子钱包应用下的当前电子钱包数据中的电子钱包余额同步所述电子现金应用下的当前电子现金信息中的电子现金余额;
[0072] 第二处理模块,用于当访问电子现金数据的条件满足要求时,根据接收到的访问电子现金数据指令对当前电子现金信息进行处理;
[0073] 返回模块,用于将所述第一处理模块或第二处理模块的处理结果返回给所述上位机。
[0074] 进一步地,所述第一同步模块包括:
[0075] 第一判断单元,用于根据电子现金信息变化标识判断电子现金信息是否发生了变化,是则触发第一更新清除单元工作,否则触发所述第一处理模块工作;
[0076] 所述第一更新清除单元,用于获取所述电子现金信息中的电子现金余额和电子现金已透支金额并更新电子钱包余额和电子钱包已透支金额,清除所述电子现金信息变化标志,触发所述第一处理模块工作。
[0077] 进一步地,所述第一处理模块,包括:
[0078] 第二判断单元,用于当所述接收模块接收到圈存指令时,判断圈存操作条件是否满足第一要求,是则触发第一更新设置单元工作,否则触发报错单元工作;
[0079] 所述第一更新设置单元,用于用保存的圈存金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识;
[0080] 所述返回模块还用于给所述上位机返回成功响应;
[0081] 所述报错单元,用于报错。
[0082] 进一步地,所述第二判断单元具体用于判断所述圈存指令是否正确,判断当前安全状态是否为第一安全状态,判断所述圈存指令的数据域中的MAC值是否正确,判断交易认证码密钥是否存在,如上述四个的判断结果均为是,则圈存操作条件满足第一要求,否则圈存操作条件不满足第一要求。
[0083] 进一步地,所述第一处理模块,包括:
[0084] 第三判断单元,用于当所述接收模块接收到消费指令时,判断消费操作条件是否满足第二要求,是则触发第二更新设置单元工作,否则触发报错单元工作;
[0085] 所述第二更新设置单元,用于根据保存的消费金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识;
[0086] 所述返回模块还用于给所述上位机返回成功响应;
[0087] 所述报错单元,用于报错。
[0088] 进一步地,所述第三判断单元具体用于判断所述消费指令是否正确,判断当前安全状态是否为第二安全状态或第三安全状态,判断所述消费指令的数据域中的MAC值是否正确,判断交易认证码密钥是否存在,如上述四个均判断为是,则消费操作条件满足第二要求,否则消费操作条件不满足第二要求。
[0089] 进一步地,所述第一处理模块还包括:
[0090] 第四判断单元,用于判断当前安全状态是否为所述第三安全状态,是则触发第五判断单元工作,否则触发所述接收模块工作;
[0091] 所述第五判断单元,用于判断电子现金应用中是否有对应的扩展应用记录文件,是则触发第一更新单元工作,否则触发第二更新单元工作;
[0092] 所述第一更新单元,用于将复合应用记录缓存中的数据更新到电子现金的扩展应用记录文件中;
[0093] 所述第二更新单元,用于将复合应用记录缓存中的数据更新到电子钱包的复合交易记录文件中。
[0094] 进一步地,所述第一处理模块,包括:
[0095] 第六判断单元,用于当所述接收模块接收到圈存初始化指令时,判断圈存初始化操作条件是否满足第五要求,是则触发第一保存设置单元工作,否则触发报错单元工作;
[0096] 所述第一保存设置单元,用于保存所述圈存初始化指令的数据域中的所述圈存金额,设置第一安全状态;
[0097] 所述返回模块还用于给所述上位机返回成功响应;
[0098] 所述报错单元,用于报错。
[0099] 进一步地,所述第六判断单元具体用于判断所述圈存初始化指令是否正确,根据所述圈存初始化指令的数据域中的圈存密钥索引判断对应的圈存密钥是否存在,判断所述圈存初始化指令的数据域中的圈存金额加上当前电子钱包余额的结果是否超过电子现金余额上限值,如上述三个的判断结果均为是,则圈存初始化操作条件满足第五要求,否则圈存初始化操作条件不满足第五要求。
[0100] 进一步地,所述第一处理模块,包括:
[0101] 第七判断单元,用于当所述接收模块接收到消费初始化指令时,判断消费初始化操作条件是否满足第六要求,是则触发第一设置单元工作,否则触发报错单元工作;
[0102] 所述第一设置单元,用于设置第二安全状态;
[0103] 所述返回模块还用于给所述上位机返回成功响应;
[0104] 所述报错单元,用于报错。
[0105] 进一步地,所述第七判断单元具体用于判断所述消费初始化指令是否正确,根据所述消费初始化指令的数据域中的消费密钥索引判断对应的消费密钥是否存在,判断所述消费初始化指令的数据域中的消费金额是否超过电子钱包余额,如上述三个的判断结果均为是,则消费初始化操作条件满足第六要求,否则消费初始化操作条件不满足第六要求。
[0106] 进一步地,所述第一处理模块,包括:
[0107] 第八判断单元,用于当所述接收模块接收到复合消费初始化指令时,判断复合消费初始化操作条件是否满足第七要求,是则触发第二设置单元工作,否则触发报错单元工作;
[0108] 所述第二设置单元,用于设置所述第三安全状态;
[0109] 所述返回模块还用于给所述上位机返回成功响应;
[0110] 所述报错单元还用于报错。
[0111] 进一步地,所述第八判断单元具体用于判断所述复合消费初始化指令是否正确,根据所述复合消费初始化指令的数据域中的复合消费密钥索引判断对应的复合消费密钥是否存在,判断所述复合消费初始化指令的数据域中的消费金额是否超过电子钱包余额,如上述三个的判断结果均为是,则复合消费初始化操作条件满足第七要求,否则复合消费初始化操作条件不满足第七要求。
[0112] 进一步地,所述第一处理模块,包括:
[0113] 第九判断单元,用于当所述接收模块接收到复合消费文件更新指令时,判断所述复合消费文件更新操作条件是否满足第八要求,是则触发第十判断单元工作,否则触发报错单元工作;
[0114] 所述报错单元,用于报错;
[0115] 所述第十判断单元,用于根据所述复合消费文件更新指令判断是否存在对应的电子现金的扩展应用文件,是则触发第三更新单元工作,否则触发第四更新单元工作;
[0116] 所述第三更新单元,用于用所述复合消费文件更新指令的数据域中的记录内容更新电子现金信息;
[0117] 所述第四更新单元,用于用所述复合消费文件更新指令的数据域中的记录内容更新电子钱包余额;
[0118] 所述返回模块还用于给所述上位机返回成功响应。
[0119] 进一步地,所述第九判断单元,具体用于根据所述复合消费文件更新指令中的短文件标识符判断是否存在预置的电子钱包的复合交易记录文件,根据复合消费文件更新指令中的记录标识符判断所述电子钱包的复合交易文件中的对应记录是否存在,判断所述复合消费文件更新指令中的记录长度是否正确,如上述三个的判断结果均为是,则复合消费文件更新操作条件满足第八要求,否则复合消费文件更新操作条件不满足第八要求。
[0120] 进一步地,所述第二同步模块包括:
[0121] 第十一判断单元,用于根据电子钱包余额变化标识判断电子钱包余额是否发生了变化,是则触发第二更新清除单元工作,否则触发所述第二处理模块工作;
[0122] 所述第二更新清除单元,用于用所述电子钱包余额更新电子现金余额,清除所述电子钱包余额变化标识,触发所述第二处理模块工作。
[0123] 进一步地,所述第二处理模块包括:
[0124] 第十二判断单元,用于当所述接收模块接收到读记录指令时,判断读记录操作条件是否满足第三要求,是则触发第三更新设置单元工作,否则触发报错单元工作;
[0125] 所述第三更新设置单元,用于根据当前实际可用的电子现金余额和交易金额更新电子现金余额信息,设置电子现金信息变化标志;
[0126] 所述返回模块还用于给所述上位机返回成功响应;
[0127] 所述报错单元用于报错。
[0128] 进一步地,所述第十二判断单元,包括:
[0129] 第一判断子单元,用于根据所述读记录指令的第四字节上的数据判断电子现金应用中是否存在对应文件,是则触发第二判断子单元工作,否则触发报错单元工作;
[0130] 所述第二判断子单元,用于根据所述读记录指令的第三字节上的数据判断电子现金应用中的对应文件中的对应数据是否存在,是则将对应数据作为当前数据,触发第三判断子单元工作,否则触发报错单元工作;
[0131] 所述第三判断子单元,用于判断当前安全状态是否满足条件,是则触发第四判断子单元工作,否则触发返回模块工作;
[0132] 所述返回模块用于给所述上位机返回当前数据;
[0133] 所述第四判断子单元,用于判断当前数据是否为文件定位符的最后一条未读数据,是则触发所述第三更新设置单元工作,否则触发所述返回模块工作。
[0134] 进一步地,所述第二处理模块还包括:
[0135] 第十三判断单元,用于判断是否收到过更新扩展应用记录缓存指令,是则触发第三更新清除单元工作,否则第一清除模块单元;
[0136] 所述第一清除单元,用于清除电子现金应用内部设置的标志位;
[0137] 所述返回模块还用于给所述上位机返回当前数据;
[0138] 所述第三更新清除单元,用于将所述更新扩展应用记录缓存指令中的数据保存到电子现金的复合交易记录文件中,清除电子现金应用内部设置的标志位。
[0139] 进一步地,第二处理模块,包括:
[0140] 第十四判断单元,用于当所述接收模块接收到修改数据指令时,判断修改数据操作条件是否满足第四要求,是则触发第四更新设置单元工作,否则触发报错单元工作;
[0141] 第四更新设置单元,用于使用所述修改数据指令的数据域中的金额更新电子现金余额,设置电子现金信息变化标志,触发返回模块工作;
[0142] 所述返回模块还用于给所述上位机返回成功响应;
[0143] 所述报错单元,用于报错。
[0144] 进一步地,所述第十四判断单元具体用于判断所述修改数据指令是否正确,判断所述修改数据指令中的标签编码是否合法,判断所述修改数据指令中的标签值的长度是否正确,判断所述修改数据指令的数据域中的MAC值是否正确,如上述四个的判断结果均为是,则修改数据操作条件满足第四要求,否则修改数据操作条件不满足第四要求。
[0145] 进一步地,所述第四更新设置单元包括:
[0146] 第十五判断子单元,用于判断所述修改数据指令中的标签是否为预设数据,是则触发第五更新设置单元工作,否则触发所述接收模块工作;
[0147] 所述第五更新设置子单元,用于使用所述修改数据指令的数据域中的金额更新电子现金余额,并设置电子现金信息变化标识。
[0148] 本发明与现有技术相比,具有以下优点:
[0149] 本发明技术方案兼容电子钱包系统和电子现金系统,降低电子钱包系统的改造成本;实现了单账户、多用户,减少资金囤积过多;通过把需要共享的信息,做为共享内容独立出来,各应用通过共享接口来访问数据,达到一个账户使用多个系统的效果,方便用户使用。附图说明
[0150] 图1为本发明实施例一提供的一种不同应用之间信息共享的实现方法流程图
[0151] 图2、图3和图4为本发明实施例二提供的一种电子钱包应用与电子现金应用之间信息共享的实现方法流程图;
[0152] 图5、图6和图7为本发明实施例三提供的一种不同应用之间信息共享的实现方法流程图;
[0153] 图8为本发明实施例四提供的一种不同应用之间信息共享的实现装置方框图

具体实施方式

[0154] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0155] 在本实施例中,卡片接收到的命令均符合APDU格式,具体为:CLA INS P1 P2 Lc Data Le,其中CLA为指令类别、INS为指令码、P1、P2为参数、Lc为Data的长度、Le为返回数据的长度。
[0156] 实施例一
[0157] 本发明实施例一提供一种不同应用之间信息共享的实现方法,如图1所示,包括:
[0158] 步骤S1:卡片等待并接收上位机下发的选择应用指令,当接收到选择应用指令时卡片判断需要选择的应用,如为电子钱包应用则执行步骤S2,如为电子现金应用则执行步骤S3;
[0159] 步骤S2:卡片用电子现金应用下的当前电子现金信息同步电子钱包应用当前电子钱包数据,当卡片判断访问电子钱包数据的条件满足要求时,卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,并将处理结果返回给上位机;
[0160] 具体的,在本实施例中,卡片用电子现金应用下的当前电子现金信息同步电子钱包应用当前电子钱包数据,包括:
[0161] 步骤A1:卡片根据电子现金信息变化标识判断电子现金信息是否发生了变化,是则执行步骤A2,否则继续;
[0162] 步骤A2:卡片获取电子现金信息中的电子现金余额和电子现金已透支金额并更新电子钱包余额和电子钱包已透支金额,清除电子现金信息变化标志。
[0163] 在本实施例中,同步操作可以在接收指令之前进行,也可以在接收到指令之后对指令进行处理前进行同步操作,如在接收指令之前进行,则同步之后需要给上位机返回文件控制信息,然后等待接收上位机下发的指令;
[0164] 在本实施例中,访问电子钱包数据指令包括:圈存指令、消费指令、圈存初始化指令、消费初始化指令、复合消费初始化指令、复合消费文件更新指令,当卡片判断访问电子钱包数据的条件满足要求时,卡片根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理,并将处理结果返回给上位机,包括:
[0165] (1)当卡片接收到的访问电子钱包数据指令为圈存指令时,卡片判断圈存操作条件是否满足第一要求,是则卡片用保存的圈存金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识,给上位机返回成功响应,等待接收上位机下发的指令;否则报错,结束。
[0166] 其中,卡片判断圈存操作条件是否满足第一要求,包括:卡片判断圈存指令是否正确,卡片判断当前安全状态是否为第一安全状态,卡片判断圈存指令的数据域中的MAC值是否正确,卡片判断交易认证码密钥是否存在,如上述四个的判断结果均为是,则圈存操作条件满足第一要求,否则圈存操作条件不满足第一要求。
[0167] (2)当卡片接收到的访问电子钱包数据指令为消费指令时,卡片判断消费操作条件是否满足第二要求,是则卡片根据保存的消费金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识,给上位机返回成功响应,等待接收上位机下发的指令;否则报错,结束。
[0168] 其中,卡片判断消费操作条件是否满足第二要求,包括:卡片判断消费指令是否正确,卡片判断当前安全状态是否为第二安全状态或第三安全状态,卡片判断消费指令的数据域中的MAC值是否正确,卡片判断交易认证码密钥是否存在,如上述四个均判断为是,则消费操作条件满足第二要求,否则消费操作条件不满足第二要求。
[0169] 当卡片接收到的访问电子钱包数据指令为消费指令之后,设置电子钱包余额变化标识与给上位机返回成功响应之间可以包括:
[0170] 步骤B1:卡片判断当前安全状态是否为第三安全状态,是则执行步骤B2,否则等待接收上位机下发的指令;
[0171] 步骤B2:卡片判断电子现金应用中是否有对应的扩展应用记录文件,是则执行步骤B3,否则执行步骤B4;
[0172] 步骤B3:卡片将复合应用记录缓存中的数据更新到电子现金的扩展应用记录文件中,继续;
[0173] 步骤B4:卡片将复合应用记录缓存中的数据更新到电子钱包的复合交易记录文件中,继续。
[0174] (3)当卡片接收到的访问电子钱包数据指令为圈存初始化指令时,卡片判断圈存初始化操作条件是否满足第五要求,是则卡片保存圈存初始化指令的数据域中的圈存金额,设置第一安全状态,并给上位机返回成功响应,等待接收上位机下发的指令,否则报错,结束。
[0175] 其中,卡片判断圈存初始化操作条件是否满足第五要求,包括:
[0176] 卡片判断圈存初始化指令是否正确,卡片根据圈存初始化指令的数据域中的圈存密钥索引判断对应的圈存密钥是否存在,卡片判断圈存初始化指令的数据域中的圈存金额加上当前电子钱包余额的结果是否超过电子现金余额上限值,如上述三个的判断结果均为是,则圈存初始化操作条件满足第五要求,否则圈存初始化操作条件不满足第五要求。
[0177] (4)当卡片接收到的访问电子钱包数据指令为消费初始化指令时,卡片判断消费初始化操作条件是否满足第六要求,是则卡片设置第二安全状态,并给上位机返回成功响应,等待接收上位机下发的指令;否则报错,结束。
[0178] 其中,卡片判断消费初始化操作条件是否满足第六要求,包括:
[0179] 卡片判断消费初始化指令是否正确,卡片根据消费初始化指令的数据域中的消费密钥索引判断对应的消费密钥是否存在,卡片判断消费初始化指令的数据域中的消费金额是否超过电子钱包余额,如上述三个的判断结果均为是,则消费初始化操作条件满足第六要求,否则消费初始化操作条件不满足第六要求。
[0180] (5)当卡片接收到的访问电子钱包数据指令为复合消费初始化指令时,卡片判断复合消费初始化操作条件是否满足第七要求,是则卡片设置第三安全状态,并给上位机返回成功响应,等待接收上位机下发的指令;否则报错,结束。
[0181] 其中,卡片判断复合消费初始化操作条件是否满足第七要求,包括:
[0182] 卡片判断复合消费初始化指令是否正确,卡片根据复合消费初始化指令的数据域中的复合消费密钥索引判断对应的复合消费密钥是否存在,卡片判断复合消费初始化指令的数据域中的消费金额是否超过电子钱包余额,如上述三个的判断结果均为是,则复合消费初始化操作条件满足第七要求,否则复合消费初始化操作条件不满足第七要求。
[0183] (6)当卡片接收到的访问电子钱包数据指令为复合消费文件更新指令时,执行步骤F1;
[0184] 步骤F1:卡片判断复合消费文件更新操作条件是否满足第八要求,是则执行步骤F2,否则报错,结束;
[0185] 在本实施例中,步骤F1具体为:卡片根据复合消费文件更新指令中的短文件标识符判断是否存在预置的电子钱包的复合交易记录文件,卡片根据复合消费文件更新指令中的记录标识符判断电子钱包的复合交易文件中的对应记录是否存在,卡片判断复合消费文件更新指令中的记录长度是否正确,如上述三个的判断结果均为是,则复合消费文件更新操作条件满足第八要求,否则复合消费文件更新操作条件不满足第八要求。
[0186] 步骤F2:卡片根据复合消费文件更新指令判断是否存在对应的电子现金的扩展应用文件,是则执行步骤F3,否则执行步骤F4;
[0187] 步骤F3:卡片用复合消费文件更新指令的数据域中的记录内容更新电子现金信息,并给上位机返回成功响应,等待接收上位机下发的指令;
[0188] 步骤F4:卡片用复合消费文件更新指令的数据域中的记录内容更新电子钱包余额,并给上位机返回成功响应,等待接收上位机下发的指令。
[0189] 步骤S3:卡片用电子钱包应用下的当前电子钱包数据中的电子钱包余额同步电子现金应用下的当前电子现金信息中的电子现金余额,当卡片判断访问电子现金数据的条件满足要求时,卡片根据接收到的访问电子现金数据指令对当前电子现金信息进行处理,并将处理结果返回给上位机。
[0190] 具体的,在本实施例中,卡片用电子钱包应用下的当前电子钱包数据中的电子钱包余额同步电子现金应用下的当前电子现金信息中的电子现金余额,包括:
[0191] 步骤P1:卡片根据电子钱包余额变化标识判断电子钱包余额是否发生了变化,是则执行步骤P2,否则继续;
[0192] 步骤P2:卡片用电子钱包余额更新电子现金余额,清除电子钱包余额变化标识。
[0193] 在本实施例中,同步过程可以在接收指令之前进行,也可以在接收到指令之后进行,如在接收指令之前进行,则同步之后需要给上位机返回文件控制信息,然后等待接收上位机下发的指令;
[0194] 在本实施例中,访问电子现金数据指令包括:读记录指令和修改数据指令;卡片用电子钱包应用下的当前电子钱包数据中的电子钱包余额同步电子现金应用下的当前电子现金信息中的电子现金余额,包括:
[0195] (一)当卡片接收到的访问电子钱包数据指令为读记录指令时,卡片判断读记录操作条件是否满足第三要求,是则卡片根据当前实际可用的电子现金余额和交易金额更新电子现金余额信息,设置电子现金信息变化标志,给上位机返回成功响应,等待接收上位机下发的指令,否则报错,结束。
[0196] 其中,卡片判断读记录操作条件是否满足第三要求,包括:
[0197] 步骤X1:卡片根据读记录指令的第四字节上的数据判断电子现金应用中是否存在对应文件,是则执行步骤X2,否则报错,结束;
[0198] 步骤X2:卡片根据读记录指令的第三字节上的数据判断电子现金应用中的对应文件中的对应数据是否存在,是则将对应数据作为当前数据,执行步骤X3,否则报错,结束;
[0199] 步骤X3:卡片判断当前安全状态是否满足条件,是则执行步骤X4,否则给上位机返回当前数据,等待接收上位机下发的指令;
[0200] 步骤X4:卡片判断当前数据是否为文件定位符的最后一条未读数据,是则读记录操作条件满足第三要求,否则执行步骤X5;
[0201] 步骤X5:卡片给上位机返回当前数据,等待接收上位机下发的指令。
[0202] 在本实施例中,卡片在对读记录指令进行操作的过程中,设置电子现金信息变化标志与给上位机返回成功响应之间还包括:
[0203] 步骤W1:卡片判断是否收到过更新扩展应用记录缓存指令,是则执行步骤W3,否则执行步骤W2;
[0204] 步骤W2:卡片清除电子现金应用内部设置的标志位,给上位机返回当前数据,等待接收上位机下发的指令;
[0205] 步骤W3:卡片将更新扩展应用记录缓存指令中的数据保存到电子现金的复合交易记录文件中,清除电子现金应用内部设置的标志位,给上位机返回当前数据,等待接收上位机下发的指令。
[0206] (二)当卡片接收到的访问电子钱包数据指令为修改数据指令时,卡片判断修改数据操作条件是否满足第四要求,是则卡片使用修改数据指令的数据域中的金额更新电子现金余额,设置电子现金信息变化标志,给上位机返回成功响应,等待接收上位机下发的指令;否则报错,结束。
[0207] 其中,卡片判断修改数据操作条件是否满足第四要求,包括:
[0208] 卡片判断修改数据指令是否正确,卡片判断修改数据指令中的标签编码是否合法,卡片判断修改数据指令中的标签值的长度是否正确,卡片判断修改数据指令的数据域中的MAC值是否正确,如上述四个的判断结果均为是,则修改数据操作条件满足第四要求,否则修改数据操作条件不满足第四要求。
[0209] 卡片在判断修改数据操作条件符合第四要求后的具体操作为:
[0210] 步骤D1:卡片判断修改数据指令中的标签是否为预设数据,是则执行步骤D2,否则等待接收上位机下发的指令;
[0211] 步骤D2:卡片使用修改数据指令的数据域中的金额更新电子现金余额,并设置电子现金信息变化标识,给上位机返回成功响应,等待接收上位机下发的指令。
[0212] 实施例二
[0213] 本发明实施例二提供一种电子钱包应用与电子现金应用之间信息共享的实现方法,如图2、图3和图4,包括:
[0214] 步骤200:卡片等待并接收上位机下发的选择应用指令,当接收到选择应用指令时卡片判断需要选择的应用,如为电子钱包应用则执行步骤201,如为电子现金应用则执行步骤301;
[0215] 具体的,在本实施例中,选择应用指令符合APDU格式,其中CLA=0x00,INS=0xa4;卡片通过选择应用指令中数据域的应用标识符来判断需要选择的应用,如应用标识符与电子钱包应用标识符一致则需要选择的应用为电子钱包应用,如应用标识符与电子现金应用标识符一致则需要选择的应用为电子现金应用;
[0216] 步骤201:卡片判断电子现金信息是否发生了变化,是则执行步骤202,否则执行步骤203;
[0217] 具体的,在本实施例中,卡片调用第一共享接口,读取电子现金信息变化标识,并通过返回值将电子现金信息变化标识发送给卡片,卡片判断电子现金信息变化标识是否置位,是则电子现金信息发生了变化,否则电子现金信息未发生变化;
[0218] 在本实施例中,电子现金信息中包括:电子现金余额、已透支电子现金、电子现金余额上限值、电子现金透支限额等;
[0219] 步骤202:卡片从电子现金信息中获取电子现金余额和电子现金已透支金额并更新电子钱包余额和电子钱包已透支金额,清除电子现金信息变化标识,执行步骤203;
[0220] 具体的,在本实施例中,卡片将APDU对象作为参数调用第二共享接口,获取电子现金余额以及电子现金已透支金额并将其放在APDU对象的缓存区中,第二共享接口被调用结束后,卡片从APDU对象的缓存区中获取电子现金余额和已透支金额,并用获取到的电子现金余额和电子现金已透支金额更新电子钱包余额和电子钱包已透支金额;卡片调用第三共享接口,清除电子现金信息变化标识,将操作是否成功的结果通过返回值返回给卡片;
[0221] APDU对象是java卡虚拟机收到APDU指令后封装的一个java对象,里面有260字节的空间可以临时存储数据;
[0222] 步骤203:卡片给上位机返回文件控制信息,执行步骤204;
[0223] 步骤204:卡片等待并接收到上位机下发的操作指令,当接收到操作指令时判断该操作指令的类型,如为圈存初始化指令则执行步骤205,如为圈存指令则执行步骤209;如为消费初始化指令则执行步骤214,如为消费指令则执行步骤218;如为复合消费初始化指令则执行步骤227;如为复合消费文件更新指令则执行步骤231;
[0224] 具体的,在本实施例中,圈存初始化指令符合APDU指令格式,如指令中的INS=0x50、P1=0x00、P2=0x02则为圈存初始化指令,数据域包括圈存密钥索引、圈存金额、上位机编号;如指令中的INS=0x52则为圈存指令,数据域包括圈存日期、圈存时间和MAC值;如指令中的INS=0x50、P1=0x01、P2=0x02则为消费初始化指令,数据域包括消费密钥索引、交易金额、上位机编号;如指令中的INS=0x54则为消费指令,数据域包括交易序号、交易日期、交易时间和MAC值;如指令中的INS=0x50、P1=0x03、P2=0x02则为复合消费初始化指令,数据域包复合消费密钥索引、交易金额、上位机编号;如指令中的CLA=0x80、INS=0xdc则为复合消费文件更新指令,数据域包括记录值;
[0225] 步骤205:卡片判断圈存初始化指令是否正确,是则执行步骤206,否则报错,结束;
[0226] 在本实施例中,步骤205包括:卡片具体判断该圈存初始化指令中的P1、P2和Le是否符合第一设定值,是则圈存初始化指令正确,否则圈存初始化指令不正确;优选的,本实施例中的第一设定值为0x000210;
[0227] 步骤206:卡片根据圈存初始化指令的数据域中的圈存密钥索引判断对应的圈存密钥是否存在,是则执行步骤207,否则报错,结束;
[0228] 具体的,在本实施例中,圈存初始化指令的数据域包括6字节的上位机编号,1字节的圈存密钥索引,4字节的圈存金额;
[0229] 步骤207:卡片判断圈存初始化指令的数据域中的圈存金额加上电子钱包余额的结果是否超过电子现金余额上限值,是则报错,结束,否则执行步骤208;
[0230] 步骤208:卡片保存圈存初始化指令的数据域中的圈存金额,设置第一安全状态,并给上位机返回16字节的成功响应,返回步骤204;
[0231] 具体的,在本实施例中,设置第一安全状态包括:卡片将安全状态设置为第一数值;
[0232] 步骤209:卡片判断圈存指令是否正确,是则执行步骤210,否则报错,结束;
[0233] 在本实施例中,步骤209包括:卡片具体判断该圈存指令中的CLA、P1、P2、Lc和Le是否符合第二设定值,是则圈存指令正确,否则圈存指令不正确;优选的,本实施例中的第二设定值为0x8000000b 04;
[0234] 步骤210:卡片判断当前安全状态是否为第一数值,是则执行步骤211,否则报错,结束;
[0235] 步骤211:卡片判断圈存指令的数据域中的MAC值是否正确,是则执行步骤212,否则报错,结束;
[0236] 步骤212:卡片判断交易认证码密钥是否存在,是则执行步骤213,否则报错,结束;
[0237] 在本实施例中,交易认证码密钥是卡片在进行个人化处操作时写入的;
[0238] 步骤213:卡片用保存的圈存金额更新电子钱包余额,设置电子钱包余额变化标识,用电子钱包已透支金额更新电子现金已透支金额,给上位机返回成功响应,返回步骤204;
[0239] 具体的,在本实施例中,卡片将电子钱包余额作为参数调用第四共享接口,用电子钱包余额加上圈存金额的结果更新电子钱包余额,并设置电子钱包余额变化标识(电子钱包余额变化标识用来通知电子现金应用共享余额已经变化),通过第四共享接口的返回值给卡片返回操作结果,操作结果为操作成功或操作失败;卡片将电子钱包已透支金额放到APDU对象缓存区中作为参数调用第五共享接口,从参数中获取电子钱包已透支金额并用其更新电子现金已透支金额;
[0240] 步骤214:卡片判断消费初始化指令是否正确,是则执行步骤215,否则报错,结束;
[0241] 具体的,在本实施例中,卡片具体判断该消费初始化指令中的CLA、Lc和数据域中的数据的长度是否符合第三设定值,是则消费初始化指令正确,否则消费初始化指令不正确;优选的,第三设定值为0x800b 0f;
[0242] 步骤215:卡片根据消费初始化指令的数据域中的消费密钥索引判断对应的消费密钥是否存在,是则执行步骤216,否则报错,结束;
[0243] 具体的,在本实施例中,消费初始化指令的数据域包括6字节的上位机编号,1字节的消费密钥索引,4字节的消费金额;
[0244] 步骤216:卡片判断消费初始化指令的数据域中的消费金额是否超过电子钱包余额,是则报错,结束,否则执行步骤217;
[0245] 步骤217:卡片设置第二安全状态,并给上位机返回15字节的成功响应,返回步骤204;
[0246] 具体的,在本实施例中,卡片设置第二安全状态包括:卡片将当前安全状态设置为第二数值;具体的,卡片在该步骤中给上位机返回的数据包括:保存的自身余额、脱机交易序号、伪随机数等;
[0247] 步骤218:卡片判断消费指令是否正确,是则执行步骤219,否则报错,结束;
[0248] 在本实施例中,步骤218包括:卡片具体判断该消费指令中的CLA、P1、P2、Lc和Le是否符合第四设定值,是则消费指令正确,否则消费指令不正确;优选的,本实施例中的第四设定值为0x80 01 00 0f 08;
[0249] 步骤219:卡片判断当前安全状态是否为第二安全状态或第三安全状态,是则执行步骤220,否则报错,结束;
[0250] 具体的,步骤219包括:卡片判断当前安全状态是否为第二数值或第三数值;
[0251] 步骤220:卡片判断消费指令的数据域中的MAC值是否正确,是则执行步骤221,否则报错,结束;
[0252] 步骤221:卡片判断交易认证码密钥是否存在,是则执行步骤222,否则报错,结束;
[0253] 在本实施例中,交易认证码密钥是卡片在进行个人化操作时写入的;
[0254] 步骤222:卡片根据保存的消费金额更新保存的电子钱包余额,设置电子钱包余额变化标识,用电子钱包已透支金额更新电子现金已透支金额;
[0255] 具体的,在本实施例中,卡片将消费金额作为参数调用第四共享接口,用电子钱包余额减去消费金额的结果更新电子钱包余额,并设置电子钱包余额变化标识(电子钱包余额变化标识用来通知电子现金应用共享余额已经变化),通过第四共享接口的返回值给卡片返回操作结果,操作结果为操作成功或操作失败;卡片将电子钱包已透支金额放到APDU对象缓存区中作为参数调用第五共享接口,从参数中获取电子钱包已透支金额并用其更新电子现金已透支金额;
[0256] 步骤223:卡片判断当前安全状态是否为第三安全状态,是则执行步骤224,否则给上位机返回成功响应,返回步骤204;
[0257] 具体的,在本实施例中,卡片判断当前安全状态是否为第三数值,是则执行步骤224,否则给上位机返回成功响应,返回步骤204;
[0258] 步骤224:卡片判断电子现金应用中是否有对应的扩展应用文件,是则执行步骤225,否则执行步骤226;
[0259] 具体的,在本实施例中,卡片通过第六共享接口的第一变量判断电子现金应用中是否有对应的扩展应用文件;
[0260] 步骤225:卡片将复合应用记录缓存中的数据更新到电子现金的扩展应用的记录文件中,给上位机返回成功响应,返回步骤204;
[0261] 具体的,在本实施例中,卡片把复合应用记录缓存中的数据放入APDU对象缓存区并作为参数一,短文件标识符作为参数二调用第七共享接口,根据参数二将参数一放到电子现金的扩展应用的记录文件中;
[0262] 步骤226:卡片将复合应用记录缓存中的数据更新到电子钱包的复合交易记录文件中,给上位机返回成功响应,返回步骤204;
[0263] 步骤227:卡片判断复合消费初始化指令是否正确,是则执行步骤228,否则报错,结束;
[0264] 具体的,在本实施例中,复合消费初始化指令符合APDU指令格式,卡片具体判断该APDU指令中的P1、P2和Le是否符合第五设定值,是则复合消费初始化指令正确,否则复合消费初始化指令不正确;优选的,第五设定值为0x8 0b 0f;
[0265] 步骤228:卡片根据复合消费初始化指令的数据域中的复合消费密钥索引判断对应的复合消费密钥是否存在,是则执行步骤229,否则报错,结束;
[0266] 具体的,在本实施例中,复合消费初始化指令的数据域包括6字节的上位机编号,1字节的复合消费密钥索引,4字节的消费金额;
[0267] 步骤229:卡片判断复合消费初始化指令的数据域中的消费金额是否超过电子钱包余额,是则报错,结束,否则执行步骤230;
[0268] 步骤230:卡片设置第三安全状态,并给上位机返回15字节的成功响应,返回步骤204;
[0269] 具体的,在本实施例中,卡片设置第三安全状态包括:卡片将当前安全状态设置为第三数值;给上位机返回的数据包括:电子钱包余额、脱机交易序号、伪随机数等;
[0270] 步骤231:卡片根据复合消费文件更新指令中的短文件标识符判断是否存在预置的电子钱包的复合交易记录文件,是则执行步骤232,否则报错,结束;
[0271] 具体的,在本实施例中,复合消费文件更新指令中P2上的值包含短文件标识符;
[0272] 步骤232:卡片判断根据复合消费文件更新指令中的记录标识符判断电子钱包的复合交易文件中的对应记录是否存在,是则执行步骤233,否则报错,结束;
[0273] 具体的,在本实施例中,复合消费文件更新指令中P1上的值为记录标识符;
[0274] 步骤233:卡片判断复合消费文件更新指令中的记录长度是否正确,是则执行步骤234,否则报错,结束;
[0275] 具体的,在本实施例中,复合消费文件更新指令中的Lc的值表示记录长度;
[0276] 步骤234:卡片判断电子现金应用中是否有对应的电子现金的扩展应用文件,是则执行步骤235,否则执行步骤236;
[0277] 具体的,在本实施例中,卡片通过第八共享接口来判断电子现金应用中是否有对应的电子现金的扩展应用文件;
[0278] 步骤235:卡片用复合消费文件更新指令的数据域中的记录内容更新电子现金信息,给上位机返回成功响应,返回步骤204;
[0279] 步骤236:卡片用复合消费文件更新指令的数据域中的记录内容更新电子钱包余额,给上位机返回成功响应,返回步骤204;
[0280] 步骤301:卡片判断电子钱包余额是否发生了变化,是则执行步骤302,否则执行步骤303;
[0281] 具体的,在本实施例中,卡片通过共享接口获取电子钱包应用中的电子钱包余额变化标识,如钱包余额变化标识置位则表示电子钱包修改了余额,如钱包余额变化标识未置位则表示电子钱包未修改余额;
[0282] 步骤302:卡片用电子钱包余额更新电子现金余额,并清除电子钱包余额变化标识,执行步骤303;
[0283] 步骤303:卡片给上位机返回文件控制信息,执行步骤304;
[0284] 在本实施例中,步骤303还包括:卡片清除交易开始标识;交易开始标识是GPO指令(获取处理选项指令)里设置的,表示一次交易流程中只能发送一条GPO指令,选应用时清除这个标志重新开始一个交易流程;
[0285] 步骤304:卡片等待并接收上位机下发的操作指令,当接收到操作指令时判断该操作指令的类型,如为读记录指令则执行步骤305,如为修改数据指令则执行步骤314;
[0286] 具体的,在本实施例中,如CLA INS的值为0x00 b2则该指令的类型为读记录指令,如INS的值为0xda则该指令的类型为修改数据指令;
[0287] 步骤305:卡片根据读记录指令的第四字节上的数据判断电子现金应用中是否存在对应文件,是则执行步骤306,否则报错,结束;
[0288] 在本实施例中,读记录指令符合APDU指令格式;
[0289] 步骤306:卡片根据读记录指令的第三字节上的数据判断电子现金应用中的对应文件中的对应数据是否存在,是则将对应数据作为当前数据,执行步骤307,否则报错,结束;
[0290] 步骤307:卡片判断当前安全状态是否满足条件,是则执行步骤308,否则给上位机返回当前数据,返回步骤304;
[0291] 具体的,本实施例中满足的条件为:卡片已执行过获取处理选项指令且返回脱机批准信息;
[0292] 步骤308:卡片判断当前数据是否为文件定位符的最后一条未读数据,是则执行步骤310,否则执行步骤309;
[0293] 在本实施例中,文件定位符(AFL)是卡片在进行个人化时写入的;
[0294] 步骤309:卡片给上位机返回当前数据,返回步骤304;
[0295] 在本实施例中,步骤309中还包括:卡片设置已读记录标志,用于表示当前数据已读取过;
[0296] 步骤310:卡片根据当前实际可用的电子现金余额和交易金额更新电子现金余额信息,设置电子现金信息变化标识;
[0297] 具体的,在本实施例中,如果电子现金余额不小于交易金额,则步骤310包括:新的电子现金余额=旧的电子现金余额-交易金额;如果电子现金余额小于交易金额,则步骤310包括:如电子现金余额等于0,则新的已抵扣金额=旧的已抵扣金额+(交易金额-电子现金余额);
[0298] 步骤311:卡片判断是否收到过更新扩展应用记录缓存指令,是则执行步骤313,否则执行步骤312;
[0299] 具体的,在本实施例中,卡片在接收到更新扩展应用记录缓存指令时进行操作之后设置扩展应用交易标识,步骤311中卡片判断是否设置了扩展应用交易标志,是则接收到过,否则未接收过;
[0300] 步骤312:卡片清除电子现金应用内部设置的标志位,给上位机返回当前数据,返回步骤304;
[0301] 步骤313:卡片将更新扩展应用记录缓存指令中的数据保存到电子现金的复合交易记录文件中,清除电子现金应用内部设置的标志位,给上位机返回当前数据,返回步骤304;
[0302] 步骤314:卡片判断修改数据指令是否正确,是则执行步骤315,否则报错,结束;
[0303] 具体的,在本实施例中,卡片检查修改数据指令中的CLA是否符合第一预设值,是则执行步骤315,否则报错,结束;优选的,第一预设值为0x04;
[0304] 步骤315:卡片判断修改数据指令中的标签编码是否合法,是则执行步骤316,否则报错,结束;
[0305] 具体的,在本实施例,步骤315具体为:卡片判断修改数据指令中的标签的编码是否符合预设规定,是则标签合法,否则标签不合法;
[0306] 步骤316:卡片判断修改数据指令中的标签值的长度是否正确,是则执行步骤317,否则报错,结束;
[0307] 具体的,在本实施例中,卡片判断修改数据指令中的Lc值是否与预设设置的值相同,是则执行步骤317,否则报错,结束;优选的,预先设置的值为0x06;
[0308] 步骤317:卡片判断修改数据指令的数据域中的MAC是否正确,是则执行步骤318,否则报错,结束;
[0309] 步骤318:卡片判断标签是否为预设数据,是则执行步骤319,否则返回步骤304;
[0310] 具体的,在本实施例中,预设数据为9F79(表示电子现金金额)或DF62(表示电子现金分段扣费抵扣限额);
[0311] 步骤319:卡片使用修改数据指令的数据域中的金额更新电子现金余额,并设置电子现金信息变化标识,给上位机返回成功响应,返回步骤304。
[0312] 在本实施例中,卡片内有电子钱包应用、智能卡虚拟机、电子现金应用;在调用共享接口之前,需获取共享接口,获取共享接口的实现过程包括:
[0313] 步骤A1:电子钱包应用获取保存的共享对象应用AID和服务应用参数;
[0314] 在本实施例中,服务应用参数是预置的,每个参数对应不同的共享对象;如果服务应用对该服务应用参数有特殊要求,则指定符合要求的数据即可,譬如说:服务应用指定3表示A服务的共享对象,那么此处调用A服务的共享对象时直接写入3就可以了;
[0315] 步骤A2:电子钱包应用根据获取的共享对象应用AID和服务应用参数调用卡片的API来获取服务应用的共享对象;
[0316] 步骤A3:智能卡虚拟机根据获取的共享对象应用AID在卡内应用列表中查找对应的服务应用索引;
[0317] 步骤A4:智能卡虚拟机根据服务应用索引判断对应的服务应用是否存在,是则执行步骤A5,否则组织返回结果,执行步骤A9;
[0318] 步骤A5:智能卡虚拟机根据当前上下文获取对应的上下文应用AID,根据应用索引获取服务应用的对象引用;
[0319] 步骤A6:智能卡虚拟机根据上下文应用AID和服务应用参数调用获取共享对象函数;
[0320] 步骤A7:电子现金应用根据上下文应用AID检查对应应用的权限,根据服务应用参数给智能卡虚拟机返回相应的共享对象;
[0321] 具体的,在本实施例中,对应应用的权限包括:服务应用可能对其客户应用有特殊要求,譬如说A服务只能给应用AID为B的应用使用权限,这个时候就需要检查客户应用的AID是否为B;
[0322] 步骤A8:智能卡虚拟机根据接收到的共享对象组织返回结果;
[0323] 步骤A9:智能卡虚拟机将返回结果返回给电子钱包应用;
[0324] 步骤A10:电子钱包应用接收返回结果,并判断返回结果中是否有共享对象,是则获取共享对象,否则结束。
[0325] 实施例三
[0326] 本发明实施例三提供一种不同应用之间信息共享的实现方法,如图5、图6和图7所示,包括:
[0327] 步骤501:卡片等待并接收上位机下发的选择应用指令,当接收到选择应用指令时卡片判断需要选择的应用,如为电子钱包应用则执行步骤502,如为电子现金应用则执行步骤529;
[0328] 步骤502:卡片等待并接收上位机下发的操作指令,当接收到操作指令时判断操作指令的类型,如为圈存指令则执行步骤503;如为消费指令则执行步骤507;如为圈存初始化指令则执行步骤511,如为消费初始化指令则执行步骤515,如为复合消费初始化指令则执行步骤519,如为复合消费文件更新指令则执行步骤523;
[0329] 步骤503:卡片根据电子现金信息变化标识判断电子现金信息是否发生了变化,是则执行步骤504,否则执行步骤505;
[0330] 步骤504:卡片获取电子现金信息中的电子现金余额和电子现金已透支金额并更新电子钱包余额和电子钱包已透支金额,清除电子现金信息变化标志,执行步骤505;
[0331] 步骤505:卡片判断圈存操作条件是否满足第一要求,是则执行步骤506,否则报错,结束;
[0332] 在本实施例中,步骤505包括:卡片判断圈存指令是否正确,卡片判断当前安全状态是否为第一安全状态,卡片判断圈存指令的数据域中的MAC值是否正确,卡片判断交易认证码密钥是否存在,上述四个判断无先后顺序,如四个判断结果均为是,则圈存操作条件满足第一要求,否则圈存操作条件不满足第一要求。
[0333] 步骤506:卡片用保存的圈存金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识,给上位机返回成功响应,返回步骤502;
[0334] 步骤507:卡片根据电子现金信息变化标识判断电子现金信息是否发生了变化,是则执行步骤508,否则执行步骤509;
[0335] 步骤508:卡片获取电子现金信息中的电子现金余额和电子现金已透支金额并更新电子钱包余额和电子钱包已透支金额,清除电子现金信息变化标志,执行步骤509;
[0336] 步骤509:卡片判断消费操作条件是否满足第二要求,是则执行步骤510,否则报错,结束;
[0337] 在本实施例中,步骤509包括:卡片判断消费指令是否正确,卡片判断当前安全状态是否为第二安全状态或第三安全状态,卡片判断消费指令的数据域中的MAC值是否正确,卡片判断交易认证码密钥是否存在,上述四个判断无先后顺序,如四个判断结果均为是,则消费操作条件满足第二要求,否则消费操作条件不满足第二要求。
[0338] 步骤510:卡片根据保存的消费金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识,给上位机返回成功响应,返回步骤502;
[0339] 具体的,在本实施例中,步骤510中返回成功响应之前还包括:
[0340] 步骤H1:卡片判断当前安全状态是否为第三安全状态,是则执行步骤H2,否则返回步骤502;
[0341] 步骤H2:卡片判断电子现金应用中是否有对应的扩展应用记录文件,是则执行步骤H3,否则执行步骤H4;
[0342] 步骤H3:卡片将复合应用记录缓存中的数据更新到电子现金的扩展应用记录文件中,然后继续给上位机返回成功响应,返回步骤502;
[0343] 步骤H4:卡片将复合应用记录缓存中的数据更新到电子钱包的复合交易记录文件中,然后继续给上位机返回成功响应,返回步骤502。
[0344] 步骤511:卡片根据电子现金信息变化标识判断电子现金信息是否发生了变化,是则执行步骤512,否则执行步骤513;
[0345] 步骤512:卡片获取电子现金信息中的电子现金余额和电子现金已透支金额并更新电子钱包余额和电子钱包已透支金额,清除电子现金信息变化标志,执行步骤513;
[0346] 步骤513:卡片判断圈存初始化操作条件是否满足第五要求,是则执行步骤514,否则报错,结束;
[0347] 具体的,在本实施例中,步骤513包括:卡片判断圈存初始化指令是否正确,卡片根据圈存初始化指令的数据域中的圈存密钥索引判断对应的圈存密钥是否存在,卡片判断圈存初始化指令的数据域中的圈存金额加上当前电子钱包余额的结果是否超过电子现金余额上限值,上述三个判断无三后顺序,如三个判断结果均为是,则圈存初始化操作条件满足第五要求,否则圈存初始化操作条件不满足第五要求。
[0348] 步骤514:卡片保存圈存初始化指令的数据域中的圈存金额,设置第一安全状态,并给上位机返回成功响应,返回步骤502。
[0349] 步骤515:卡片根据电子现金信息变化标识判断电子现金信息是否发生了变化,是则执行步骤516,否则执行步骤517;
[0350] 步骤516:卡片获取电子现金信息中的电子现金余额和电子现金已透支金额并更新电子钱包余额和电子钱包已透支金额,清除电子现金信息变化标志,执行步骤517;
[0351] 步骤517:卡片判断消费初始化操作条件是否满足第六要求,是则执行步骤518,否则报错,结束;
[0352] 具体的,在本实施例中,步骤517包括:卡片判断消费初始化指令是否正确,卡片根据消费初始化指令的数据域中的消费密钥索引判断对应的消费密钥是否存在,卡片判断消费初始化指令的数据域中的消费金额是否超过电子钱包余额,上述三个判断无先后顺序,如三个判断结果均为是,则消费初始化操作条件满足第六要求,否则消费初始化操作条件不满足第六要求。
[0353] 步骤518:卡片设置第二安全状态,并给上位机返回成功响应,返回步骤502。
[0354] 步骤519:卡片根据电子现金信息变化标识判断电子现金信息是否发生了变化,是则执行步骤520,否则执行步骤521;
[0355] 步骤520:卡片获取电子现金信息中的电子现金余额和电子现金已透支金额并更新电子钱包余额和电子钱包已透支金额,清除电子现金信息变化标志,执行步骤521;
[0356] 步骤521:卡片判断复合消费初始化操作条件是否满足第七要求,是则执行步骤522,否则报错,结束;
[0357] 具体的,在本实施例中,步骤521包括:卡片判断复合消费初始化指令是否正确,卡片根据复合消费初始化指令的数据域中的复合消费密钥索引判断对应的复合消费密钥是否存在,卡片判断复合消费初始化指令的数据域中的消费金额是否超过电子钱包余额,上述三个判断无先后顺序,如三个判断结果均为是,则复合消费初始化操作条件满足第七要求,否则复合消费初始化操作条件不满足第七要求。
[0358] 步骤522:卡片设置第三安全状态,并给上位机返回成功响应,返回步骤502。
[0359] 步骤523:卡片根据电子现金信息变化标识判断电子现金信息是否发生了变化,是则执行步骤524,否则执行步骤525;
[0360] 步骤524:卡片获取电子现金信息中的电子现金余额和电子现金已透支金额并更新电子钱包余额和电子钱包已透支金额,清除电子现金信息变化标志,执行步骤525;
[0361] 步骤525:卡片判断复合消费文件更新操作条件是否满足第八要求,是则执行步骤526,否则报错,结束;
[0362] 具体的,在本实施例中,步骤525包括:卡片根据复合消费文件更新指令中的短文件标识符判断是否存在预置的电子钱包的复合交易记录文件,卡片根据复合消费文件更新指令中的记录标识符判断电子钱包的复合交易文件中的对应记录是否存在,卡片判断复合消费文件更新指令中的记录长度是否正确,如三个的判断结果均为是,则复合消费文件更新操作条件满足第八要求,否则复合消费文件更新操作条件不满足第八要求。
[0363] 步骤526:卡片根据复合消费文件更新指令判断是否存在对应的电子现金的扩展应用文件,是则执行步骤527,否则执行步骤528;
[0364] 步骤527:卡片用复合消费文件更新指令的数据域中的记录内容更新电子现金信息,并给上位机返回成功响应,返回步骤502;
[0365] 步骤528:卡片用复合消费文件更新指令的数据域中的记录内容更新电子钱包余额,并给上位机返回成功响应,返回步骤502。
[0366] 步骤529:卡片等待并接收上位机下发的操作指令,当接收到操作指令时判断操作指令的类型,如为读记录指令则执行步骤530,如为修改数据指令则执行步骤534;
[0367] 步骤530:卡片根据电子钱包余额变化标识判断电子钱包余额是否发生了变化,是则执行步骤531,否则执行步骤532;
[0368] 步骤531:卡片用电子钱包余额更新电子现金余额,清除电子钱包余额变化标识,执行步骤532;
[0369] 步骤532:卡片判断读记录操作条件是否满足第三要求,是则执行步骤533,否则报错,结束;
[0370] 具体的,在本实施例中,步骤532包括:
[0371] 步骤532-1:卡片根据读记录指令的第四字节上的数据判断电子现金应用中是否存在对应文件,是则执行步骤532-2,否则报错,结束;
[0372] 步骤532-2:卡片根据读记录指令的第三字节上的数据判断电子现金应用中的对应文件中的对应数据是否存在,是则将对应数据作为当前数据,执行步骤532-3,否则报错,结束;
[0373] 步骤532-3:卡片判断当前安全状态是否满足条件,是则执行步骤532-4,否则给上位机返回当前数据,返回步骤529;
[0374] 步骤532-4:卡片判断当前数据是否为文件定位符的最后一条未读数据,是则执行步骤533,否则执行步骤532-5;
[0375] 步骤532-5:卡片给上位机返回当前数据,返回步骤529。
[0376] 其中,上述步骤532-1、步骤532-2、步骤532-3、步骤532-4的判断无先后顺序,可以任意调换;
[0377] 步骤533:卡片根据当前实际可用的电子现金余额和交易金额更新电子现金余额信息,设置电子现金信息变化标志,给上位机返回成功响应,返回步骤529;
[0378] 在本实施例中,在步骤533中给上位机返回成功响应之前还包括:
[0379] 步骤L1:卡片判断是否收到过更新扩展应用记录缓存指令,是则执行步骤L3,否则执行步骤L2;
[0380] 步骤L2:卡片清除电子现金应用内部设置的标志位,给上位机返回当前数据,返回步骤529;
[0381] 步骤L3:卡片将更新扩展应用记录缓存指令中的数据保存到电子现金的复合交易记录文件中,清除电子现金应用内部设置的标志位,然后继续给上位机返回当前数据,返回步骤529。
[0382] 步骤534:卡片根据电子钱包余额变化标识判断电子钱包余额是否发生了变化,是则执行步骤535,否则执行步骤536;
[0383] 步骤535:卡片用电子钱包余额更新电子现金余额,清除电子钱包余额变化标识,执行步骤536;
[0384] 步骤536:卡片判断修改数据操作条件是否满足第四要求,是则执行步骤537,否则报错,结束;
[0385] 在本实施例中,步骤537包括:卡片判断修改数据指令是否正确,卡片判断修改数据指令中的标签编码是否合法,卡片判断修改数据指令中的标签值的长度是否正确,卡片判断修改数据指令的数据域中的MAC值是否正确,上述四个判断无先后顺序,如四个判断结果均为是,则修改数据操作条件满足第四要求,否则修改数据操作条件不满足第四要求。
[0386] 步骤537:卡片使用修改数据指令的数据域中的金额更新电子现金余额,设置电子现金信息变化标志,给上位机返回成功响应,返回步骤529。
[0387] 具体的,在本实施例中,步骤537包括:
[0388] 步骤537-1:卡片判断修改数据指令中的标签是否为预设数据,是则执行步骤537-2,否则返回步骤529;
[0389] 步骤537-2:卡片使用修改数据指令的数据域中的金额更新电子现金余额,并设置电子现金信息变化标识,给上位机返回成功响应,返回步骤P29。
[0390] 在本实施例中,在卡片接收到每条指令后,进行判断电子现金信息是否发生变化的操作可以在更新电子钱包余额之前的任意步骤进行,同理进行判断电子钱包金额是否发生变化的操作可以在更新电子现金余额之前的任意步骤进行,在此不再赘述。
[0391] 实施例四
[0392] 本发明实施例四提供一种不同应用之间信息共享的实现装置,如图8所示,包括:
[0393] 接收模块801,用于等待并接收上位机下发的指令;
[0394] 第一判断模块802,用于当接收模块接收到选择应用指令时判断需要选择的应用,如为电子钱包应用则触发第一同步模块803工作,如为电子现金应用则触发第二同步模块805工作;
[0395] 第一同步模块803,用于用电子现金应用下的当前电子现金信息同步电子钱包应用当前电子钱包数据;
[0396] 在本实施例中,第一同步模块803包括:
[0397] 第一判断单元,用于根据电子现金信息变化标识判断电子现金信息是否发生了变化,是则触发第一更新清除单元工作,否则触发第一处理模块804工作;
[0398] 第一更新清除单元,用于获取电子现金信息中的电子现金余额和电子现金已透支金额并更新电子钱包余额和电子钱包已透支金额,清除电子现金信息变化标志,触发第一处理模块804工作。
[0399] 第一处理模块804,用于当访问电子钱包数据的条件满足要求时,根据接收到的访问电子钱包数据指令对当前电子钱包数据进行处理;
[0400] 第二同步模块805,用于用电子钱包应用下的当前电子钱包数据中的电子钱包余额同步电子现金应用下的当前电子现金信息中的电子现金余额;
[0401] 具体的,在本实施例中,第二同步模块805包括:
[0402] 第十一判断单元,用于根据电子钱包余额变化标识判断电子钱包余额是否发生了变化,是则触发第二更新清除单元工作,否则触发第二处理模块806工作;
[0403] 第二更新清除单元,用于用电子钱包余额更新电子现金余额,清除电子钱包余额变化标识,触发第二处理模块806工作。
[0404] 第二处理模块806,用于当访问电子现金数据的条件满足要求时,根据接收到的访问电子现金数据指令对当前电子现金信息进行处理;
[0405] 返回模块807,用于将第一处理模块804或第二处理模块806的处理结果返回给上位机。
[0406] 在本实施例中,访问电子钱包数据指令包括:圈存指令、消费指令、圈存初始化指令、消费初始化指令、复合消费初始化指令、复合消费文件更新指令,则相应的第一处理模块804包含有不同的单元去进行处理,具体如下:
[0407] (1)第一处理模块804,包括:
[0408] 第二判断单元,用于当接收模块接收到圈存指令时,判断圈存操作条件是否满足第一要求,是则触发第一更新设置单元工作,否则触发报错单元工作;
[0409] 在本实施例中,第二判断单元具体用于判断圈存指令是否正确,判断当前安全状态是否为第一安全状态,判断圈存指令的数据域中的MAC值是否正确,判断交易认证码密钥是否存在,如上述四个的判断结果均为是,则圈存操作条件满足第一要求,否则圈存操作条件不满足第一要求。
[0410] 第一更新设置单元,用于用保存的圈存金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识;
[0411] 返回模块807还用于给上位机返回成功响应;
[0412] 报错单元,用于报错。
[0413] (2)第一处理模块804,包括:
[0414] 第三判断单元,用于当接收模块接收到消费指令时,判断消费操作条件是否满足第二要求,是则触发第二更新设置单元工作,否则触发报错单元工作;
[0415] 在本实施例中,第三判断单元具体用于判断消费指令是否正确,判断当前安全状态是否为第二安全状态或第三安全状态,判断消费指令的数据域中的MAC值是否正确,判断交易认证码密钥是否存在,如上述四个均判断为是,则消费操作条件满足第二要求,否则消费操作条件不满足第二要求。
[0416] 第二更新设置单元,用于根据保存的消费金额更新电子钱包余额,用电子钱包已透支金额更新电子现金已透支金额,设置电子钱包余额变化标识;
[0417] 返回模块807还用于给上位机返回成功响应;
[0418] 报错单元,用于报错。
[0419] 在本实施例中,第一处理模块804还包括:
[0420] 第四判断单元,用于判断当前安全状态是否为第三安全状态,是则触发第五判断单元工作,否则触发接收模块801工作;
[0421] 第五判断单元,用于判断电子现金应用中是否有对应的扩展应用记录文件,是则触发第一更新单元工作,否则触发第二更新单元工作;
[0422] 第一更新单元,用于将复合应用记录缓存中的数据更新到电子现金的扩展应用记录文件中;
[0423] 第二更新单元,用于将复合应用记录缓存中的数据更新到电子钱包的复合交易记录文件中。
[0424] (3)第一处理模块804,包括:
[0425] 第六判断单元,用于当接收模块接收到圈存初始化指令时,判断圈存初始化操作条件是否满足第五要求,是则触发第一保存设置单元工作,否则触发报错单元工作;
[0426] 在本实施例中,第六判断单元具体用于判断圈存初始化指令是否正确,根据圈存初始化指令的数据域中的圈存密钥索引判断对应的圈存密钥是否存在,判断圈存初始化指令的数据域中的圈存金额加上当前电子钱包余额的结果是否超过电子现金余额上限值,如上述三个的判断结果均为是,则圈存初始化操作条件满足第五要求,否则圈存初始化操作条件不满足第五要求。
[0427] 第一保存设置单元,用于保存圈存初始化指令的数据域中的圈存金额,设置第一安全状态;
[0428] 返回模块807还用于给上位机返回成功响应;
[0429] 报错单元,用于报错。
[0430] (4)第一处理模块804,包括:
[0431] 第七判断单元,用于当接收模块接收到消费初始化指令时,判断消费初始化操作条件是否满足第六要求,是则触发第一设置单元工作,否则触发报错单元工作;
[0432] 在本实施例中,第七判断单元具体用于判断消费初始化指令是否正确,根据消费初始化指令的数据域中的消费密钥索引判断对应的消费密钥是否存在,判断消费初始化指令的数据域中的消费金额是否超过电子钱包余额,如上述三个的判断结果均为是,则消费初始化操作条件满足第六要求,否则消费初始化操作条件不满足第六要求。
[0433] 第一设置单元,用于设置第二安全状态;
[0434] 返回模块807还用于给上位机返回成功响应;
[0435] 报错单元,用于报错。
[0436] (5)第一处理模块804,包括:
[0437] 第八判断单元,用于当接收模块接收到复合消费初始化指令时,判断复合消费初始化操作条件是否满足第七要求,是则触发第二设置单元工作,否则触发报错单元工作;
[0438] 在本实施例中,第八判断单元具体用于判断复合消费初始化指令是否正确,根据复合消费初始化指令的数据域中的复合消费密钥索引判断对应的复合消费密钥是否存在,判断复合消费初始化指令的数据域中的消费金额是否超过电子钱包余额,如上述三个的判断结果均为是,则复合消费初始化操作条件满足第七要求,否则复合消费初始化操作条件不满足第七要求。
[0439] 第二设置单元,用于设置第三安全状态;
[0440] 返回模块807还用于给上位机返回成功响应;
[0441] 报错单元还用于报错。
[0442] (6)第一处理模块804,包括:
[0443] 第九判断单元,用于当接收模块接收到复合消费文件更新指令时,判断复合消费文件更新操作条件是否满足第八要求,是则触发第十判断单元工作,否则触发报错单元工作;
[0444] 在本实施例中,第九判断单元,具体用于根据复合消费文件更新指令中的短文件标识符判断是否存在预置的电子钱包的复合交易记录文件,根据复合消费文件更新指令中的记录标识符判断电子钱包的复合交易文件中的对应记录是否存在,判断复合消费文件更新指令中的记录长度是否正确,如上述三个的判断结果均为是,则复合消费文件更新操作条件满足第八要求,否则复合消费文件更新操作条件不满足第八要求。
[0445] 报错单元,用于报错;
[0446] 第十判断单元,用于根据复合消费文件更新指令判断是否存在对应的电子现金的扩展应用文件,是则触发第三更新单元工作,否则触发第四更新单元工作;
[0447] 第三更新单元,用于用复合消费文件更新指令的数据域中的记录内容更新电子现金信息;
[0448] 第四更新单元,用于用复合消费文件更新指令的数据域中的记录内容更新电子钱包余额;
[0449] 返回模块807还用于给上位机返回成功响应。
[0450] 在本实施例中,访问电子现金数据指令包括:读记录指令和修改数据指令,则相应的第二处理模块806包含有不同的单元去进行处理,具体如下:
[0451] (一)第二处理模块806包括:
[0452] 第十二判断单元,用于当接收模块接收到读记录指令时,判断读记录操作条件是否满足第三要求,是则触发第三更新设置单元工作,否则触发报错单元工作;
[0453] 具体的,在本实施例中,第十二判断单元,包括:
[0454] 第一判断子单元,用于根据读记录指令的第四字节上的数据判断电子现金应用中是否存在对应文件,是则触发第二判断子单元工作,否则触发报错单元工作;
[0455] 第二判断子单元,用于根据读记录指令的第三字节上的数据判断电子现金应用中的对应文件中的对应数据是否存在,是则将对应数据作为当前数据,触发第三判断子单元工作,否则触发报错单元工作;
[0456] 第三判断子单元,用于判断当前安全状态是否满足条件,是则触发第四判断子单元工作,否则触发返回模块807工作;
[0457] 返回模块807用于给上位机返回当前数据;
[0458] 第四判断子单元,用于判断当前数据是否为文件定位符的最后一条未读数据,是则触发第三更新设置单元工作,否则触发返回模块807工作。
[0459] 第三更新设置单元,用于根据当前实际可用的电子现金余额和交易金额更新电子现金余额信息,设置电子现金信息变化标志;
[0460] 返回模块还用于给上位机返回成功响应;
[0461] 报错单元用于报错。
[0462] 在本实施例中,第二处理模块806还包括:
[0463] 第十三判断单元,用于判断是否收到过更新扩展应用记录缓存指令,是则触发第三更新清除单元工作,否则第一清除模块单元;
[0464] 第一清除单元,用于清除电子现金应用内部设置的标志位;
[0465] 返回模块807还用于给上位机返回当前数据;
[0466] 第三更新清除单元,用于将更新扩展应用记录缓存指令中的数据保存到电子现金的复合交易记录文件中,清除电子现金应用内部设置的标志位。
[0467] (二)第二处理模块806,包括:
[0468] 第十四判断单元,用于当接收模块接收到修改数据指令时,判断修改数据操作条件是否满足第四要求,是则触发第四更新设置单元工作,否则触发报错单元工作;
[0469] 具体的,在本实施例中,第十四判断单元具体用于判断修改数据指令是否正确,判断修改数据指令中的标签编码是否合法,判断修改数据指令中的标签值的长度是否正确,判断修改数据指令的数据域中的MAC值是否正确,如上述四个的判断结果均为是,则修改数据操作条件满足第四要求,否则修改数据操作条件不满足第四要求。
[0470] 第四更新设置单元,用于使用修改数据指令的数据域中的金额更新电子现金余额,设置电子现金信息变化标志,触发返回模块807工作;
[0471] 在本实施例中,第四更新设置单元包括:
[0472] 第十五判断子单元,用于判断修改数据指令中的标签是否为预设数据,是则触发第五更新设置单元工作,否则触发接收模块801工作;
[0473] 第五更新设置子单元,用于使用修改数据指令的数据域中的金额更新电子现金余额,并设置电子现金信息变化标识。
[0474] 返回模块807还用于给上位机返回成功响应;
[0475] 报错单元,用于报错。
[0476] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈