System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,具体而言,涉及一种基于se芯片的applet应用升级方法、系统及设备。
技术介绍
1、目前,应用于se(secure element)芯片中的applet(智能卡应用)的主要升级方案,多以设备端(汽车、手机等)与服务器的数据交互为主。具体的,服务器完成数据备份后,下发新版本的applet并完成安装后,再下发在服务器端备份的个人化数据,完成应用版本升级。
2、在实践中发现,这种基于se芯片的applet应用升级方法在服务器完成数据备份后,由于使用applet会导致应用数据与已完成备份的服务端数据不一致,为了保证数据的准确性与实时性,需要将applet暂时置为不可用状态,直到完成升级前,applet均不可使用。并且,该方法还需要设备端与服务端进行多批次apdu(与se芯片进行通讯的应用协议数据单元)指令交互:数据备份->应用锁定->下载安装新版本应用applet->备份数据下发->完成状态确认。以及,由于需要保证数据时效性,应用升级需要进行在线实时升级,如存在指令执行异常或数据传输等异常,需要进行逻辑复杂的异常处理机制,且由于applet为数据储存空间限制,异常处理机制也存在局限性。可见,上述方法存在着applet可用程度较低、设备端与服务器交互频繁、异常处理机制存在局限性的问题。
3、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本专利技术实施例提供了一种基于se芯片的applet应用升级方法、系
2、根据本专利技术实施例的一个方面,提供了一种基于se芯片的applet应用升级方法,包括:
3、服务端获取新版本的applet应用,并基于所述新版本的applet应用生成离线升级脚本,以及将所述离线升级脚本下发给设备端;其中,所述离线升级脚本包含所述新版本的applet应用的基础应用信息;
4、所述设备端接收所述离线升级脚本,并基于所述离线升级脚本,在se芯片中下载安装所述新版本的applet应用;
5、所述设备端向所述新版本的applet应用发送升级指令,以使所述新版本的applet应用响应所述升级指令确定老版本的applet应用,并调用所述老版本的applet应用的目标接口,在所述新版本的applet应用中完成个人化数据和实时应用数据备份。
6、作为一种可选的实施方式,所述服务端基于所述新版本的applet应用生成离线升级脚本,包括:
7、所述服务端将所述新版本的applet应用解析为hex格式的apdu指令,并生成所述离线升级脚本;其中,所述离线升级脚本包含applet下载指令、符合scp11c安全通道协议的认证指令、所述升级指令及旧版本applet的删除指令。
8、作为一种可选的实施方式所述设备端基于所述离线升级脚本,在se芯片中下载安装所述新版本的applet应用,包括:
9、所述设备端基于所述离线升级脚本中的所述认证指令,在所述se芯片中完成scp11c认证,并在完成scp11c认证后,在所述se芯片中下载安装所述新版本的applet应用。
10、作为一种可选的实施方式,在所述设备端接收所述离线升级脚本之后,所述方法还包括:
11、基于预设的sdk,对所述离线升级脚本进行解析,得到所述apdu指令,并将所述apdu指令发送给所述se芯片,以使所述se芯片完成scp11c认证。
12、作为一种可选的实施方式,所述设备端向所述新版本的applet应用发送升级指令,以使所述新版本的applet应用响应所述升级指令确定老版本的applet应用,包括:
13、所述设备端向所述新版本的applet应用发送所述升级指令;其中,所述升级指令包含目标参数以及应用遍历起始aid;
14、将所述新版本的applet应用的aid确定为应用遍历结束aid;
15、基于所述目标参数,从所述应用遍历起始aid到所述应用遍历结束aid进行遍历,得到所述老版本的applet应用的aid;
16、基于所述老版本的applet应用的aid,确定所述老版本的applet应用。
17、作为一种可选的实施方式,在所述设备端调用所述老版本的applet应用的目标接口,在所述新版本的applet应用中完成个人化数据和实时应用数据备份之后,所述方法还包括:
18、所述设备端将所述老版本的applet应用的应用状态设置为不可用状态,以及将所述新版本的applet应用的应用状态设置为可用状态。
19、作为一种可选的实施方式,在所述设备端将所述老版本的applet应用的应用状态设置为不可用状态,以及将所述新版本的applet应用的应用状态设置为可用状态之后,所述方法还包括:
20、所述设备端获取applet应用的应用升级结果;
21、如果所述应用升级结果为成功,则基于所述删除指令,删除所述老版本的applet应用;
22、如果所述应用升级结果为失败,则向所述服务端发送升级失败原因。
23、作为一种可选的实施方式,所述方法还包括:
24、所述设备端解析所述离线升级脚本,得到各个apdu指令以及各个apdu指令对应的目标状态字;
25、基于各个apdu指令以及各个apdu指令对应的目标状态字,确定所述应用升级结果。
26、根据本专利技术实施例的另一方面,还提供了一种基于se芯片的applet应用升级系统,包括服务端以及设备端;
27、所述服务端,用于获取新版本的applet应用,并基于所述新版本的applet应用生成离线升级脚本,以及将所述离线升级脚本下发给设备端;其中,所述离线升级脚本包含所述新版本的applet应用的基础应用信息;
28、所述设备端,用于接收所述离线升级脚本,并基于所述离线升级脚本,在se芯片中下载安装所述新版本的applet应用;
29、所述设备端,还用于向所述新版本的applet应用发送升级指令,以使所述新版本的applet应用响应所述升级指令确定老版本的applet应用,并调用所述老版本的applet应用的目标接口,在所述新版本的applet应用中完成个人化数据和实时应用数据备份。
30、根据本专利技术实施例的又一方面,还提供了一种计算设备,所述计算设备包括:至少一个处理器、存储器和输入输出单元;其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序来执行上述基于se芯片的applet应用升级方法。
31、根据本专利技术实施例的又一方面,还提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述基于se芯片的applet应用升级方法。
32、在本专利技术实施例中,服本文档来自技高网...
【技术保护点】
1.一种基于SE芯片的Applet应用升级方法,其特征在于,包括:
2.根据权利要求1所述的基于SE芯片的Applet应用升级方法,其特征在于,所述服务端基于所述新版本的Applet应用生成离线升级脚本,包括:
3.根据权利要求2所述的基于SE芯片的Applet应用升级方法,其特征在于,所述设备端基于所述离线升级脚本,在SE芯片中下载安装所述新版本的Applet应用,包括:
4.根据权利要求2所述的基于SE芯片的Applet应用升级方法,其特征在于,在所述设备端接收所述离线升级脚本之后,所述方法还包括:
5.根据权利要求1所述的基于SE芯片的Applet应用升级方法,其特征在于,所述设备端向所述新版本的Applet应用发送升级指令,以使所述新版本的Applet应用响应所述升级指令确定老版本的Applet应用,包括:
6.根据权利要求2所述的基于SE芯片的Applet应用升级方法,其特征在于,在所述设备端调用所述老版本的Applet应用的目标接口,在所述新版本的Applet应用中完成个人化数据和实时应用数据备份之后,所述方
7.根据权利要求6所述的基于SE芯片的Applet应用升级方法,其特征在于,在所述设备端将所述老版本的Applet应用的应用状态设置为不可用状态,以及将所述新版本的Applet应用的应用状态设置为可用状态之后,所述方法还包括:
8.根据权利要求7所述的基于SE芯片的Applet应用升级方法,其特征在于,所述方法还包括:
9.一种基于SE芯片的Applet应用升级系统,其特征在于,包括服务端以及设备端;
10.一种计算设备,所述计算设备包括:
...【技术特征摘要】
1.一种基于se芯片的applet应用升级方法,其特征在于,包括:
2.根据权利要求1所述的基于se芯片的applet应用升级方法,其特征在于,所述服务端基于所述新版本的applet应用生成离线升级脚本,包括:
3.根据权利要求2所述的基于se芯片的applet应用升级方法,其特征在于,所述设备端基于所述离线升级脚本,在se芯片中下载安装所述新版本的applet应用,包括:
4.根据权利要求2所述的基于se芯片的applet应用升级方法,其特征在于,在所述设备端接收所述离线升级脚本之后,所述方法还包括:
5.根据权利要求1所述的基于se芯片的applet应用升级方法,其特征在于,所述设备端向所述新版本的applet应用发送升级指令,以使所述新版本的applet应用响应所述升级指令确定老版本的a...
【专利技术属性】
技术研发人员:张士博,刘园园,姜波,赵晨曦,
申请(专利权)人:深圳市雪球科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。