CN110414651B - 调试智能卡的方法及装置 - Google Patents

调试智能卡的方法及装置 Download PDF

Info

Publication number
CN110414651B
CN110414651B CN201910596280.XA CN201910596280A CN110414651B CN 110414651 B CN110414651 B CN 110414651B CN 201910596280 A CN201910596280 A CN 201910596280A CN 110414651 B CN110414651 B CN 110414651B
Authority
CN
China
Prior art keywords
field
apdu
command
debugging
smart card
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
CN201910596280.XA
Other languages
English (en)
Other versions
CN110414651A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201910596280.XA priority Critical patent/CN110414651B/zh
Publication of CN110414651A publication Critical patent/CN110414651A/zh
Application granted granted Critical
Publication of CN110414651B publication Critical patent/CN110414651B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0722Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips comprising an arrangement for testing the record carrier
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/077Constructional details, e.g. mounting of circuits in the carrier
    • G06K19/07749Constructional details, e.g. mounting of circuits in the carrier the record carrier being capable of non-contact communication, e.g. constructional details of the antenna of a non-contact smart card

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本说明书实施例提供一种智能卡的调试方法和装置。根据该方法,主机设备获取用户输入的调试指令后,构建APDU命令报文,将其中的CLA字段值和INS字段值分别设定为约定值,并将调试指令包含在命令数据字段中。然后,将这样的APDU命令报文发送给智能卡。智能卡解析接收到的APDU命令报文,在CLA字段和INS字段的值为约定值的情况下,从命令数据字段中提取出调试指令,并指示智能卡上安装的Python执行引擎在交互模式下执行该调试指令。然后,智能卡构建APDU响应报文返回给主机设备。如此,实现对基于Python虚拟机的智能卡的调试。

Description

调试智能卡的方法及装置
技术领域
本说明书一个或多个实施例涉及IC智能卡领域,尤其涉及智能卡的调试方法和装置。
背景技术
集成电路IC卡(Integrated Circuit Card),也称为智能卡(Smart card),是包含微处理器的芯片卡。由于其固有的信息安全、便于携带、比较完善的标准化等优点,智能卡越来越多的应用在人们的生活中,提供多种多样的功能,为人们的生活带来便利。具体的,在身份认证、银行、电信、公共交通、车场管理等领域,智能卡正得到越来越多的应用,例如智能卡可以实现为,二代身份证,银行的电子钱包,电信的手机SIM卡,公共交通的公交卡、地铁卡,用于收取停车费的停车卡等,这些都在人们日常生活中扮演重要角色。
根据智能IC卡与外部设备之间的通讯方式,可以把IC卡分成接触式IC卡、非接触式IC和双界面卡(同时具备接触式与非接触式通讯接口)。接触式IC卡例如包括SIM卡(其中具有6个触点或8个触点),水卡,电卡等等;非接触式IC卡包括,通过射频方式交互的公交卡,门禁卡等等。
可以理解,根据所需的应用场景,需要在IC卡中开发相应功能的应用,例如安全认证、电子钱包、数据存储等。常用的门禁卡、二代身份证需要使用安全认证方面的应用,而银行卡、地铁卡等涉及资金的IC卡则需要利用电子钱包功能。
目前,多数IC卡中的应用是基于Java开发的,这样的卡又称为Java卡。然而,由于授权使用(License)费用等原因,Java卡的使用成本很高。因此,希望能有其他方式,替代java卡,降低IC卡费用,同时便于其中应用的开发和调试。
发明内容
本说明书一个或多个实施例描述了智能卡的调试方法和装置,其中利用修改和定制的APDU报文,令智能卡中的Python执行引擎进入调试模式,从而对Python智能卡进行调试。
根据第一方面,提供了一种智能卡的调试方法,该方法在智能卡中执行,所述智能卡上安装有Python执行引擎,所述方法包括:
接收主机设备发送的应用协议数据单元APDU命令报文,所述APDU命令报文包括命令头和命令体,所述命令头包括CLA字段和INS字段,所述命令体包括命令数据字段;
解析所述APDU命令报文,以得到其中CLA字段中的第一字段值和INS字段中的第二字段值;
当所述第一字段值为第一约定值,且所述第二字段值为第二约定值时,从所述命令数据字段提取出调试指令;
指示所述Python执行引擎在Python交互模式下,执行所述调试指令;
构建第一APDU响应报文,所述第一APDU响应报文指示所述调试指令的执行信息;
向所述主机设备返回所述第一APDU响应报文。
在一个实施例中,所述智能卡包括IO接口,所述接收主机设备发送的APDU命令报文包括,经由所述IO接口接收所述APDU命令报文,所述IO接口包括以下中的至少一项:7816接口,蓝牙模块,NFC模块,UART接口。
在一个具体实施例中,所述第一约定值和第二约定值均为01。
根据一种实施方式,第一APDU响应报文包括状态字段,所述状态字段指示出,所述调试指令的执行状态。
根据一种实施方式,所述第一APDU响应报文还包括响应数据字段,所述响应数据字段中包括的响应数据对应于通过执行所述调试指令得到的调试结果。
进一步的,在一种实施方式中,所述第一APDU响应报文还包括格式字段,所述格式字段的字段值表示所述响应数据的格式、类型和长度中的至少一项。
根据一种实施方式,上述方法还包括,
当所述第一字段值不等于所述第一约定值,或者所述第二字段值不等于第二约定值时,指示所述Python执行引擎在应用程序执行模式下,根据所述APDU命令报文执行Python应用程序文件;
构建第二APDU响应报文,所述第二APDU响应报文指示所述应用程序文件的执行信息;
向所述外部设备返回所述第二APDU响应报文。
根据第二方面,提供一种调试智能卡的方法,通过主机设备执行,包括:
获取用户输入的调试指令;
构建应用协议数据单元APDU命令报文,所述APDU命令报文包括命令头和命令体,所述命令头包括CLA字段和INS字段,所述命令体包括命令数据字段,其中,所述CLA字段的字段值为第一约定值,所述INS字段的字段值为第二约定值,所述命令数据字段中包括与所述调试指令对应的数据;
向智能卡发送所述APDU命令报文,以使得该智能卡上安装的Python执行引擎在Python交互模式下执行所述调试指令;
接收APDU响应报文,所述APDU响应报文指示所述调试指令的执行信息。
在一个实施例中,所述APDU响应报文包括响应数据字段,所述响应数据字段中包括的响应数据对应于所述Python执行引擎执行所述调试指令得到的调试结果;在这样的情况下,上述方法还包括,从所述响应数据字段中提取所述调试结果;向用户显示所述调试结果。
在一个进一步的实施例中,所述APDU响应报文还包括格式字段,所述格式字段的字段值表示所述响应数据的格式、类型和长度中的至少一项。
根据第三方面,提供一种智能卡的调试装置,部署在智能卡中,所述智能卡上安装有Python执行引擎,所述调试装置包括:
命令报文接收单元,配置为接收主机设备发送的应用协议数据单元APDU命令报文,所述APDU命令报文包括命令头和命令体,所述命令头包括CLA字段和INS字段,所述命令体包括命令数据字段;
命令报文解析单元,配置为解析所述APDU命令报文,以得到其中CLA字段中的第一字段值和INS字段中的第二字段值;
调试指令提取单元,配置为当所述第一字段值为第一约定值,且所述第二字段值为第二约定值时,从所述命令数据字段提取出调试指令;
交互执行单元,配置为指示所述Python执行引擎在Python交互模式下,执行所述调试指令;
第一构建单元,配置为构建第一APDU响应报文,所述第一APDU响应报文指示所述调试指令的执行信息;
第一返回单元,配置为向所述主机设备返回所述第一APDU响应报文。
根据第四方面,提供一种调试智能卡的装置,部署在主机设备中,包括:
指令获取单元,配置为获取用户输入的调试指令;
命令报文构建单元,配置为构建应用协议数据单元APDU命令报文,所述APDU命令报文包括命令头和命令体,所述命令头包括CLA字段和INS字段,所述命令体包括命令数据字段,其中,所述CLA字段的字段值为第一约定值,所述INS字段的字段值为第二约定值,所述命令数据字段中包括与所述调试指令对应的数据;
命令报文发送单元,配置为向智能卡发送所述APDU命令报文,以使得该智能卡上安装的Python执行引擎在Python交互模式下执行所述调试指令;
响应报文接收单元,配置为接收APDU响应报文,所述APDU响应报文指示所述调试指令的执行信息。
根据第五方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面和第二方面的方法。
根据第六方面,提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面和第二方面的方法。
根据本说明书实施例提供的方法和装置,通过修改和定制特定的APDU命令报文,基于Python虚拟机的智能卡可以根据APDU命令报文中CLA字段和INS字段的不同字段值,在交互模式和Applet执行模式之间进行切换。当CLA字段值和INS字段值指示出交互模式时,Python执行引擎在交互模式下,执行APDU命令报文中传递的调试指令,从而实现对智能卡的调试。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了根据本说明书实施例的智能卡100的结构图;
图2示出根据本说明书实施例的智能卡100与外部设备200交互的示意图;
图3示出在一个实施例中主机设备和智能卡进行调试交互的过程示意图;
图4示出根据一个实施例的智能卡调试方法的流程图;
图5示出在一个实施例中接收到的APDU命令报文;
图6示出根据一个实施例构建的APDU响应报文;
图7示出根据一个实施例的智能卡调试方法的流程图;
图8示出在一个具体例子中主机设备上显示的调试效果图;
图9示出根据一个实施例的智能卡的调试装置的示意性框图;
图10示出根据一个实施例的调试智能卡的装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
如前所述,通过Java语言开发的Java智能卡成本比较高。因此,根据一种实施方案,提出在智能卡中使用Python虚拟机,从而支持用Python语言开发各种智能卡所需的应用程序。
图1示出了根据本说明书实施例的智能卡100的结构图。如图1所示,智能卡100包括硬件架构110、操作系统120、Python虚拟机130和应用程序(Applet)存储区140。
在一个实施例中,硬件架构110至少包括,处理器芯片,存储器(ROM/RAM/EEPROM等),输入/输出(Input/Output,I/O)接口。I/O接口被配置为与外部设备进行数据/信息交互。在不同智能卡中,根据与外部设备的通信需要,I/O接口可以包括下述I/O接口中的至少一项:UART接口;NFC模块;7816接口;蓝牙模块。处理器芯片被配置为基于I/O接口所接收的指令/数据,执行相应的程序运算。
在硬件架构110上,可以安装操作系统120,该操作系统120一般是COS片内操作系统(Chip Operating System)。对于传统的单一功能的智能卡,往往是在安全的环境下开发COS和卡片应用,之后将其一同装载到芯片中。近来推出的开放式操作系统平台,如MultOS,Windows For Smart Card,允许动态地装载、更新或删除卡片中的应用,从而实现一卡多用的多功能卡。一般地,操作系统120中可以包括I/O接口驱动模块,用于对I/O接口进行驱动,以启用I/O接口来进行输入/输出操作;在一些实施例中,操作系统120中还可以包括存取服务模块,用于在应用程序存储区140中安装或卸载应用程序,以及在进行程序计算时,执行针对键/值(key/value,KV)数据库的键/值存取操作等。另外,操作系统120还可以包括一些算法库或函数库。
取代于Java卡中的Java虚拟机,在图1所示的实施方式中,在操作系统120上安装Python虚拟机130,提供Python运行环境。Python虚拟机130中包括Python执行引擎,用于执行基于Python编程语言开发的应用程序,或称为小程序Applet。
相应的,在应用程序存储区140可以存储已经安装的基于Python开发的应用程序Applet。图1中示例性示出了若干应用程序,包括区块链应用程序141,银行卡应用142,身份应用143,公交应用144。
这些应用程序可存储为py文件的形式。在Python执行引擎运行py文件后,Python编译器会编译生成对应的py字节码(bytecode)文件pyc,这样的pyc字节码文件经过Python解释器,可以产生机器码在处理器中运行。如此,Python执行引擎可以执行其上安装的Python应用程序。
图2示出根据本说明书实施例的智能卡100与外部设备200交互的示意图。一般地,该外部设备200体现为智能卡读写器。例如,在智能卡100为公交卡的情况下,外部设备200可以是刷卡机;在智能卡100为银行卡的情况下,外部设备200可以是银行的读卡器,等等。通常,外部设备200和智能卡100之间通过命令-响应的方式进行交互,即,外部设备200主动发出指示命令,智能卡100被动进行响应应答。
目前,智能卡和外部设备之间的交互报文多采用APDU协议的形式。APDU是应用协议数据单元(Application Protocol Data Unit)协议,其结构格式在IC卡国际标准ISO7816中进行了定义。根据协议的定义,外部设备使用的APDU报文为命令APDU,即C-APDU(Command APDU);智能卡使用的APDU报文为响应APDU,即R-APDU(Response APDU)。
如图2所示,命令C-APDU包括命令头和命令体,命令头中包括CLA字段,INS字段,P1字段,P2字段。CLA字段用来表示APDU的类别,INS指示要执行的指令,P1和P2字段为参数。这4个字段是必选字段。
命令体中的字段为可选字段。在不同情况(case)下,命令C-APDU可以包含不同的可选字段。例如,在case1中,C-APDU不包含可选字段,此时外部设备没有数据发送到智能卡中,也不要求从智能卡返回数据;在case2中,可选字段为LE字段,表示外部设备期望或者要求智能卡响应的数据长度。在该情况下,命令中没有数据发送到智能卡,但要求智能卡返回长度不大于LE字段值的数据。在case3中,可选字段为LC字段,表示外部设备发送的数据段的长度。在该情况下,命令中有数据发送到智能卡,但不要求智能卡返回数据。而在case4中,可选字段包括LC字段和LE字段,在该情况下,外部设备有数据(LC)发送到智能卡,也要求智能卡返回数据(LE)。图2示例性示出了case4的情况。
响应R-APDU包括状态字段SW1和SW2,该状态字段是必选字段。可选的,响应R-APDU可以包括数据字段,用于填入智能卡返回的响应数据,响应数据的长度由前述的LE字段决定。R-APDU中还可选的包含LE字段,示出响应数据的长度。
通过以上的命令APDU和响应APDU,外部设备和智能卡以命令-响应的方式实现交互。具体的,外部设备可以通过命令APDU选择要执行的程序Applet,或要执行的指令,还可以通过命令APDU传入待处理的数据。智能卡接收到命令APDU之后,可以根据命令中的指示,启动或执行相应的Applet或指令,对传入数据进行处理,还可以将处理结果以响应APDU的形式返回给外部设备。
以上通过APDU进行交互的过程仅涉及智能卡中应用程序的执行。在基于Python虚拟机的智能卡中,可以通过类似方式,执行基于Python的应用程序Applet。
然而,应用程序的开发不可避免的涉及调试过程。常规技术中,智能卡往往不支持调试模式,或者非常不便于开发者调试,因此,开发人员一般是预先在主机端完成开发和调试,然后将调试好的代码装载到智能卡中。然而,更加希望能够直接在智能卡中进行调试,以得到在智能卡的真实运行环境中的调试结果。
另一方面,如本领域技术人员所知,Python本身支持交互式编程,从而便于发开者在主机端对程序进行调试。因此,对于基于Python虚拟机的智能卡,在本说明书的构思中,提出借助Python交互模式对智能卡进行调试。进一步地,根据本说明书实施例中的方案,对常规用于指示程序执行的APDU进行修改,从而可以借助于APDU传递调试指令,进而实现Python智能卡的调试。
图3示出在一个实施例中主机设备和智能卡进行调试交互的过程示意图。如图3所示,主机设备可以向智能卡发出命令APDU。如果要指示智能卡执行特定的应用程序Applet,可以发出常规的C-APDU。如果希望对智能卡进行调试,那么可以将命令APDU中命令头的CLA字段和INS字段进行特殊设置,设定为与智能卡约定的特殊值。并且,将调试指令包含在命令APDU的数据字段中。
智能卡接收到命令APDU后,首先对其进行解析,得到CLA字段和INS字段的字段值。如果CLA字段和INS字段的字段值为约定的特殊值,则进一步从数据字段中提取出调试指令,然后,Python执行引擎在交互模式下执行该调试指令。如果不是上述特殊值,则Python执行引擎在正常的Applet执行模式下,根据C-APDU中的指示,执行相应的应用程序。
然后,智能卡根据执行结果构建响应APDU,返回给主机设备。
通过以上的方式,借助于修改的APDU,主机设备可以指示智能卡中的Python执行引擎进入调试模式,并将调试指令传递给智能卡,如此实现智能卡的调试。下面分别描述在主机设备和智能卡端的执行过程。
图4示出根据一个实施例的智能卡调试方法的流程图,该流程在智能卡中执行。具体的,可以由智能卡的操作系统来执行以下流程,也可以在智能卡中添加嵌入式程序,由该嵌入式程序执行以下流程。如图4所示,该方法流程包括以下步骤。
首先,在步骤410,接收主机设备发送的APDU命令报文,该APDU命令报文包括命令头和命令体,其中命令头包括CLA字段和INS字段,命令体包括命令数据字段。
如前所述,根据与外部设备的通信需要,智能卡可以包括多种IO接口,例如,7816接口,蓝牙模块,NFC模块,UART接口。因此,在该步骤中,智能卡可以通过以上接口中的任意一种或多种,与主机设备通信,从主机设备接收APDU命令报文。
接着,在步骤420,解析接收到的APDU命令报文。解析至少包括,读取命令头中CLA字段的字段值,下文又称为第一字段值,以及INS字段的字段值,下文又称为第二字段值。
然后,在步骤430,对上述CLA字段值和INS字段值进行判断。当CLA字段值为第一约定值,且INS第二字段值为第二约定值时,执行左侧的流程分支,即在交互模式,或称为调试模式下,进行指令调试;否则,执行右侧的流程分支,即在常规执行模式下执行应用程序Applet。换而言之,在步骤43,根据CLA字段的字段值和INS字段的字段值来判定Python执行引擎的工作模式。
可以理解,在常规情况下,APDU命令报文用于指示智能卡执行相应的应用程序,其中CLA字段指示出APDU的类别,INS指示要执行的指令。为了利用APDU指示Python执行引擎进入调试模式,可以对CLA字段和INS字段进行特殊设置,将其设置为与智能卡约定的特殊值,即前述的第一约定值和第二约定值。第一约定值和第二约定值需要不同于,常规用于指示Applet执行的命令APDU中CLA字段和INS字段的已经被使用的任何字段值,从而具有标识调试模式的作用。
例如,在一个具体实施例中,第一约定值和第二约定值可以均为01。在其他例子中,第一约定值和第二约定值例如分别为00和01。在更多实施例中,第一约定值和第二约定值还可以是其他具体值,只要该具体值没有被常规命令APDU中的CLA字段和INS字段所使用。在一种实施方式中,第一约定值和/或第二约定值也可以有多个,例如第一约定值包括00和01;第二约定值包括01和02,等等。
相应的,智能卡端在接收到APDU命令报文后,将其中的CLA字段值和INS字段值分别与预先设定的上述第一约定值和第二约定值进行比较。如果CLA字段的字段值为第一约定值,且INS字段的字段值为第二约定值,则意味着,该APDU命令报文指示Python执行引擎在交互模式下进行命令调试。于是,流程进入步骤441。
在步骤441,从前述的APDU命令报文的命令数据字段中进行数据提取,将提取出的数据作为调试指令。然后,在步骤442,指示Python执行引擎在Python交互模式下,执行所述调试指令。
需要理解Python执行引擎在交互模式和Applet执行模式下的不同。在Applet执行模式下,Python执行引擎执行某个应用程序Applet所对应的py文件,而py文件经过编译和解释,对应于一整段可执行代码。Applet执行模式下返回的结果,是整个py文件所对应的代码段的执行结果。而在交互模式下,Python执行引擎可以运行单条调试指令,将该单条调试指令的运行结果返回给开发者。换而言之,Python交互模式允许开发者逐行查看一行指令的运行结果。
图5示出在一个实施例中,接收到的APDU命令报文。在接收到这样的命令报文后,在步骤420,进行报文解析。经过解析可知,该APDU命令报文中,CLA字段的字段值为01,INS字段的字段值为01,P1和P2字段均为0,如图5所示。然后在步骤430,对上述CLA字段值和INS字段值进行判断。假定预定的第一约定值和第二约定值均为01,那么通过步骤430可以确定,CLA字段值符合第一约定值,I NS字段值符合第二约定值,因此,该APDU命令报文指示出交互模式。
于是,在步骤441,从上述APDU命令报文的命令数据字段中提取调试指令。如图5所示,该字段中用引号标记出若干字符,识别并去除例如引号之类的格式符号之后,可以从中提取出字符串,得到字符串对应的调试指令“a=111111”。
接着,在步骤442,指示Python执行引擎在交互模式下,执行提取出的调试指令。以上例子中的调试指令“a=111111”是一个赋值指令,通过执行该调试指令,Python执行引擎为变量a进行赋值。
之后,在步骤443,构建针对上述APDU命令报文的APDU响应报文,下文中又称为第一APDU响应报文,该响应报文指示出所述调试指令的执行信息。
需要理解,有些调试指令的执行不需要返回调试执行结果,例如以上的赋值指令。一般的,APDU命令报文中也会有对应指示,例如此时APDU命令报文不包含LE字段。在这样的情况下,构建的第一APDU响应报文可以仅包含状态字段,例如包括前述的SW1和SW2,通过这样的状态字段指示出,调试指令是否成功被执行。
另一方面,有些调试指令的执行需要返回调试执行结果,例如查询指令。在需要返回调试执行结果的情况下,构建的第一APDU响应报文还需包括响应数据字段,该字段中包括的响应数据对应于通过运行调试指令得到的调试结果。具体的,在一个实施例中,响应数据可以是用一定格式符号将调试结果进行“封装”后的数据。例如,在调试结果为字符串的情况下,可以用引号对各个字符进行封装,得到响应数据,将其填入到响应数据字段中。
在一个实施例中,以上构建的APDU响应报文还包括格式字段Lr,该格式字段Lr的字段值表示响应数据的格式或类型,例如是字符串,或是数值,或者布尔型返回值等。在一个实施例中,也可以用Lr字段表示响应数据的长度。
所构建的APDU响应报文中的其他字段可以与常规响应报文一致。例如,在一个实施例中,APDU响应报文中还包括LE字段,表示主机设备要求返回的数据长度。在APDU响应报文还包括上述格式字段Lr的情况下,LE字段的字段值对应于,响应数据的数据长度与Lr字段的数据长度之和。
图6示出根据一个实施例构建的APDU响应报文。在一个具体实施例中,假定运行某条调试指令得到的调试结果为333333,那么可以构建出如图6所示的APDU响应报文,该响应报文在响应数据字段包括6个分别用引号标识出字符的’3’,相应的,Lr字段的字段值为字符串长度6。此外,APDU响应报文还包括状态字段SW1和SW2,其中字段值指示出调试指令被成功执行。
在构建出以上所述的第一APDU响应报文后,在步骤444,向主机设备返回上述第一APDU响应报文。如此,智能卡通过APDU响应报文,将调试结果返回给主机设备,实现交互式调试。
另一方面,如果在前述步骤430中确定,APDU命令报文中CLA字段对应的第一字段值不等于前述第一约定值,或者INS字段对应的第二字段值不等于第二约定值,那么,则进入常规的Python执行模式下的执行流程。也就是,在步骤451,指示Python执行引擎在Applet执行模式下,根据所述APDU命令报文执行Python应用程序文件。
具体的,在不同情况(case)下,APDU命令报文可以包含或不包含数据字段。在包含数据字段的情况下,可以从APDU命令报文的数据字段中提取出主机设备发出的数据,将该数据传递到Python执行引擎,使得执行引擎基于该数据执行命令报文中指定的应用程序文件,即py文件。Applet执行模式下的具体执行过程与常规技术相似,在此不进行赘述。
然后,在步骤452,构建针对上述APDU命令报文的APDU响应报文,下文中又称为第二APDU响应报文,该响应报文指示出所述应用程序文件的执行信息。具体的,根据APDU命令报文中是否要求数据返回(是否具有LE字段),第二APDU响应报文可以包含或不包含响应数据字段。构建第二APDU响应报文的方式与常规过程相似,不复赘述。
最后,在步骤453,向外部设备返回所述第二APDU响应报文。
通过以上描述的图4所示的流程,Python执行引擎可以根据APDU命令报文中CLA字段和INS字段的不同字段值,在交互模式和Applet执行模式之间进行切换。当CLA字段值和INS字段值指示出交互模式时,Python执行引擎在交互模式下,执行APDU命令报文中传递的调试指令,从而实现对智能卡的调试。
图7示出根据一个实施例的智能卡调试方法的流程图,该流程通过主机设备执行。如图7所示,该方法流程包括以下步骤。
在步骤710,获取用户输入的调试指令。可以理解,用户可以通过预定操作指示主机设备进入Python智能卡调试模式,并在该模式下,输入调试指令。相应的,主机设备可以获取用户所输入的调试指令。
接着,在步骤720,构建APDU命令报文,该APDU命令报文包括命令头和命令体,其中命令头包括CLA字段和INS字段,命令体包括命令数据字段。在构建该APDU命令报文时,将CLA字段的字段值设定为第一约定值,将INS字段的字段值设定为第二约定值,并将所述调试指令对应的数据包含在命令数据字段中。
可以理解,前述的第一约定值和第二约定值,是与智能卡端约定的特殊值,需要不同于常规APDU中CLA字段和INS字段的已经被使用的任何字段值,从而具有标识调试模式的作用。
例如,在一个具体实施例中,第一约定值和第二约定值可以均为01。在更多实施例中,第一约定值和第二约定值还可以是其他具体值,只要该具体值没有被常规命令APDU中的CLA字段和INS字段所使用。在一种实施方式中,第一约定值和/或第二约定值也可以有多个,例如第一约定值包括00和01;第二约定值包括01和02,等等。在这样的情况下,可以从中选择一个作为第一/第二约定值,将其填入CLA字段/INS字段。
一般地,调试指令为字符串的形式。在一个实施例中,可以用预定的格式符,例如引号,对字符串中各个字符进行“封装”,将其填入到命令数据字段中。
在一个具体例子中,针对调试指令“a=111111”,可以构建图5所示的APDU命令报文,其中CLA字段和INS字段均为01,P1和P2字段均为0,命令数据字段中用引号标识的字符串对应于上述调试指令。
然后,在步骤730,向智能卡发送上述构建的APDU命令报文,以使得该智能卡上安装的Python执行引擎在Python交互模式下执行所述调试指令。根据主机设备与智能卡的通信接口的设置,可以通过7816通道、蓝牙通道、NFC通道、UART通道中的至少一项,发送所述APDU命令报文。
于是,智能卡端根据图4所示的流程,在Python交互模式下执行上述调试指令,并返回APDU响应报文。
相应的,在步骤740,主机设备从智能卡接收APDU响应报文,该APDU响应报文指示所述调试指令的执行信息。
在一种情况下,APDU响应报文仅包含状态字段。主机设备可以根据状态字段的值确定调试指令是否正常得以执行。在所述状态字段指示出所述调试指令的执行出现异常的情况下,可以向系统和/或用户发出提醒。
在一种情况下,APDU响应报文还包括响应数据字段,该响应数据字段中包括的响应数据对应于智能卡Python执行引擎执行上述调试指令得到的调试结果。在这样的情况下,主机设备可以从响应数据字段中提取得到调试结果,并向用户显示所述调试结果。
在一个实施例中,所述APDU响应报文还包括格式字段,所述格式字段的字段值表示所述响应数据的格式、类型和长度中的至少一项。在这样的情况下,可以参照该格式字段的指示,从响应数据字段中进行调试结果的提取。
例如,对于图6所示的APDU响应报文,可以从响应数据字段中识别并去除例如引号之类的格式符号,从而提取出字符串“333333”作为调试结果。
图8示出在一个具体例子中主机设备上显示的调试效果图。如图8所示,用户在主机设备段输入第一行调试指令“a=111111”,通过以上图7和图4的方法流程,智能卡中的Python执行引擎在交互模式下执行该条调试指令,将111111赋值给变量a。由于该指令为赋值指令,智能卡不返回调试结果。接着,用户输入第二行调试指令“b=222222”,智能卡中的Python执行引擎继续在交互模式下执行该条调试指令,将222222赋值给变量b。
之后,用户输入第三条调试指令“b”,该指令为查询指令。Python执行引擎在执行该条查询指令后,返回查询结果“222222”作为调试执行结果。主机设备将该调试执行结果显示给用户。类似的,用户又输入第四条调试指令“a+b”,智能卡中的Python执行引擎执行该条调试指令后得到调试结果“333333”,将其返回给主机设备。主机设备将该调试结果显示给用户。
通过以上的效果图可以直观地看出,用户可以通过主机设备,方便地对Python智能卡进行调试。
根据另一方面的实施例,分别在智能卡端和主机设备端中提供与上述方法对应的调试装置。
图9示出根据一个实施例的智能卡的调试装置的示意性框图,该调试装置部署于智能卡中,且该智能卡安装有Python执行引擎。如图9所示,该调试装置900包括:
命令报文接收单元91,配置为接收主机设备发送的应用协议数据单元APDU命令报文,所述APDU命令报文包括命令头和命令体,所述命令头包括CLA字段和INS字段,所述命令体包括命令数据字段;
命令报文解析单元92,配置为解析所述APDU命令报文,以得到其中CLA字段中的第一字段值和INS字段中的第二字段值;
调试指令提取单元93,配置为当所述第一字段值为第一约定值,且所述第二字段值为第二约定值时,从所述命令数据字段提取出调试指令;
交互执行单元94,配置为指示Python执行引擎在Python交互模式下,执行所述调试指令;
第一构建单元95,配置为构建第一APDU响应报文,所述第一APDU响应报文指示所述调试指令的执行信息;
第一返回单元96,配置为向所述主机设备返回所述第一APDU响应报文。
在一个实施例中,所述智能卡包括IO接口,所述命令报文接收单元91配置为,经由所述IO接口接收所述APDU命令报文,所述IO接口包括以下中的至少一项:7816接口,蓝牙模块,NFC模块,UART接口。
在一个实施例中,所述第一约定值和第二约定值均为01。
根据一种实施方式,所述第一APDU响应报文包括状态字段,所述状态字段指示出,所述调试指令的执行状态。
根据一种实施方式,所述第一APDU响应报文还包括响应数据字段,所述响应数据字段中包括的响应数据对应于通过执行所述调试指令得到的调试结果。
进一步的,在一个实施例中,所述第一APDU响应报文还包括格式字段,所述格式字段的字段值表示所述响应数据的格式、类型和长度中的至少一项。
根据一种实施方式,调试装置900还包括:
程序执行单元97,配置为当所述第一字段值不等于所述第一约定值,或者所述第二字段值不等于第二约定值时,指示Python执行引擎在应用程序执行模式下,根据所述APDU命令报文执行Python应用程序文件;
第二构建单元98,配置为构建第二APDU响应报文,所述第二APDU响应报文指示所述应用程序文件的执行信息;
第二返回单元99,配置为向所述外部设备返回所述第二APDU响应报文。
图10示出根据一个实施例的调试智能卡的装置的示意性框图,该装置部署于主机设备中。如图10所示,该调试装置10包括:
指令获取单元11,配置为获取用户输入的调试指令;
命令报文构建单元12,配置为构建应用协议数据单元APDU命令报文,所述APDU命令报文包括命令头和命令体,所述命令头包括CLA字段和I NS字段,所述命令体包括命令数据字段,其中,所述CLA字段的字段值为第一约定值,所述INS字段的字段值为第二约定值,所述命令数据字段中包括与所述调试指令对应的数据;
命令报文发送单元13,配置为向智能卡发送所述APDU命令报文,以使得该智能卡上安装的Python执行引擎在Python交互模式下执行所述调试指令;
响应报文接收单元14,配置为接收APDU响应报文,所述APDU响应报文指示所述调试指令的执行信息。
在一个实施例中,APDU响应报文包括响应数据字段,所述响应数据字段中包括的响应数据对应于所述Python执行引擎执行所述调试指令得到的调试结果;在这样的情况下,装置10还包括:
结果提取单元15,配置为从所述响应数据字段中提取所述调试结果;
结果显示单元16,配置为向用户显示所述调试结果。
在一个实施例中,所述APDU响应报文还包括格式字段,所述格式字段的字段值表示所述响应数据的格式、类型和长度中的至少一项。
根据一种实施方式,所述命令报文发送单元13配置为,通过7816通道、蓝牙通道、NFC通道、UART通道中的至少一项,向所述智能卡发送所述APDU命令报文。
在一个实施例中,所述第一约定值和第二约定值均为01。
通过以上的调试装置,可以实现通过主机设备对基于Python虚拟机的智能卡进行调试。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图4和图7所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图4和图7所述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (26)

1.一种智能卡的调试方法,在智能卡中执行,所述智能卡上安装有Python执行引擎,所述方法包括:
接收主机设备发送的应用协议数据单元APDU命令报文,所述APDU命令报文包括命令头和命令体,所述命令头包括CLA字段和INS字段,所述命令体包括命令数据字段;
解析所述APDU命令报文,以得到其中CLA字段中的第一字段值和INS字段中的第二字段值;
当所述第一字段值为第一约定值,且所述第二字段值为第二约定值时,从所述命令数据字段提取出调试指令;
指示所述Python执行引擎在Python交互模式下,执行所述调试指令;
构建第一APDU响应报文,所述第一APDU响应报文指示所述调试指令的执行信息;
向所述主机设备返回所述第一APDU响应报文。
2.根据权利要求1所述的方法,其中,所述智能卡包括IO接口,所述接收主机设备发送的APDU命令报文包括,经由所述IO接口接收所述APDU命令报文,所述IO接口包括以下中的至少一项:7816接口,蓝牙模块,NFC模块,UART接口。
3.根据权利要求1所述的方法,其中,所述第一约定值和第二约定值均为01。
4.根据权利要求1所述的方法,其中,所述第一APDU响应报文包括状态字段,所述状态字段指示出,所述调试指令的执行状态。
5.根据权利要求4所述的方法,其中,所述第一APDU响应报文还包括响应数据字段,所述响应数据字段中包括的响应数据对应于通过执行所述调试指令得到的调试结果。
6.根据权利要求5所述的方法,其中,所述第一APDU响应报文还包括格式字段,所述格式字段的字段值表示所述响应数据的格式、类型和长度中的至少一项。
7.根据权利要求1所述的方法,还包括,
当所述第一字段值不等于所述第一约定值,或者所述第二字段值不等于第二约定值时,指示所述Python执行引擎在应用程序执行模式下,根据所述APDU命令报文执行Python应用程序文件;
构建第二APDU响应报文,所述第二APDU响应报文指示所述应用程序文件的执行信息;
向所述外部设备返回所述第二APDU响应报文。
8.一种调试智能卡的方法,通过主机设备执行,包括:
获取用户输入的调试指令;
构建应用协议数据单元APDU命令报文,所述APDU命令报文包括命令头和命令体,所述命令头包括CLA字段和INS字段,所述命令体包括命令数据字段,其中,所述CLA字段的字段值为第一约定值,所述INS字段的字段值为第二约定值,所述命令数据字段中包括与所述调试指令对应的数据;
向智能卡发送所述APDU命令报文,以使得该智能卡上安装的Python执行引擎在Python交互模式下执行所述调试指令;
接收APDU响应报文,所述APDU响应报文指示所述调试指令的执行信息。
9.根据权利要求8所述的方法,其中,所述APDU响应报文包括响应数据字段,所述响应数据字段中包括的响应数据对应于所述Python执行引擎执行所述调试指令得到的调试结果;
所述方法还包括,从所述响应数据字段中提取所述调试结果;
向用户显示所述调试结果。
10.根据权利要求9所述的方法,其中,所述APDU响应报文还包括格式字段,所述格式字段的字段值表示所述响应数据的格式、类型和长度中的至少一项。
11.根据权利要求8所述的方法,其中,向智能卡发送所述APDU命令报文包括,通过7816通道、蓝牙通道、NFC通道、UART通道中的至少一项,向所述智能卡发送所述APDU命令报文。
12.根据权利要求8所述的方法,其中,所述第一约定值和第二约定值均为01。
13.一种智能卡的调试装置,部署在智能卡中,所述智能卡上安装有Python执行引擎,所述调试装置包括:
命令报文接收单元,配置为接收主机设备发送的应用协议数据单元APDU命令报文,所述APDU命令报文包括命令头和命令体,所述命令头包括CLA字段和INS字段,所述命令体包括命令数据字段;
命令报文解析单元,配置为解析所述APDU命令报文,以得到其中CLA字段中的第一字段值和INS字段中的第二字段值;
调试指令提取单元,配置为当所述第一字段值为第一约定值,且所述第二字段值为第二约定值时,从所述命令数据字段提取出调试指令;
交互执行单元,配置为指示所述Python执行引擎在Python交互模式下,执行所述调试指令;
第一构建单元,配置为构建第一APDU响应报文,所述第一APDU响应报文指示所述调试指令的执行信息;
第一返回单元,配置为向所述主机设备返回所述第一APDU响应报文。
14.根据权利要求13所述的调试装置,其中,所述智能卡包括IO接口,所述命令报文接收单元配置为,经由所述IO接口接收所述APDU命令报文,所述IO接口包括以下中的至少一项:7816接口,蓝牙模块,NFC模块,UART接口。
15.根据权利要求13所述的调试装置,其中,所述第一约定值和第二约定值均为01。
16.根据权利要求13所述的调试装置,其中,所述第一APDU响应报文包括状态字段,所述状态字段指示出,所述调试指令的执行状态。
17.根据权利要求16所述的调试装置,其中,所述第一APDU响应报文还包括响应数据字段,所述响应数据字段中包括的响应数据对应于通过执行所述调试指令得到的调试结果。
18.根据权利要求17所述的调试装置,其中,所述第一APDU响应报文还包括格式字段,所述格式字段的字段值表示所述响应数据的格式、类型和长度中的至少一项。
19.根据权利要求13所述的调试装置,还包括,
程序执行单元,配置为当所述第一字段值不等于所述第一约定值,或者所述第二字段值不等于第二约定值时,指示所述Python执行引擎在应用程序执行模式下,根据所述APDU命令报文执行Python应用程序文件;
第二构建单元,配置为构建第二APDU响应报文,所述第二APDU响应报文指示所述应用程序文件的执行信息;
第二返回单元,配置为向所述外部设备返回所述第二APDU响应报文。
20.一种调试智能卡的装置,部署在主机设备中,包括:
指令获取单元,配置为获取用户输入的调试指令;
命令报文构建单元,配置为构建应用协议数据单元APDU命令报文,所述APDU命令报文包括命令头和命令体,所述命令头包括CLA字段和INS字段,所述命令体包括命令数据字段,其中,所述CLA字段的字段值为第一约定值,所述INS字段的字段值为第二约定值,所述命令数据字段中包括与所述调试指令对应的数据;
命令报文发送单元,配置为向智能卡发送所述APDU命令报文,以使得该智能卡上安装的Python执行引擎在Python交互模式下执行所述调试指令;
响应报文接收单元,配置为接收APDU响应报文,所述APDU响应报文指示所述调试指令的执行信息。
21.根据权利要求20所述的装置,其中,所述APDU响应报文包括响应数据字段,所述响应数据字段中包括的响应数据对应于所述Python执行引擎执行所述调试指令得到的调试结果;
所述装置还包括,
结果提取单元,配置为从所述响应数据字段中提取所述调试结果;
结果显示单元,配置为向用户显示所述调试结果。
22.根据权利要求21所述的装置,其中,所述APDU响应报文还包括格式字段,所述格式字段的字段值表示所述响应数据的格式、类型和长度中的至少一项。
23.根据权利要求20所述的装置,其中,所述命令报文发送单元配置为,通过7816通道、蓝牙通道、NFC通道、UART通道中的至少一项,向所述智能卡发送所述APDU命令报文。
24.根据权利要求20所述的装置,其中,所述第一约定值和第二约定值均为01。
25.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-12中任一项的所述的方法。
26.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-12中任一项所述的方法。
CN201910596280.XA 2019-07-03 2019-07-03 调试智能卡的方法及装置 Active CN110414651B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910596280.XA CN110414651B (zh) 2019-07-03 2019-07-03 调试智能卡的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910596280.XA CN110414651B (zh) 2019-07-03 2019-07-03 调试智能卡的方法及装置

Publications (2)

Publication Number Publication Date
CN110414651A CN110414651A (zh) 2019-11-05
CN110414651B true CN110414651B (zh) 2023-01-17

Family

ID=68358794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910596280.XA Active CN110414651B (zh) 2019-07-03 2019-07-03 调试智能卡的方法及装置

Country Status (1)

Country Link
CN (1) CN110414651B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888674B (zh) * 2019-11-28 2022-08-09 支付宝(杭州)信息技术有限公司 在Python虚拟机中执行安全计算的方法及装置
CN111427788A (zh) * 2020-03-26 2020-07-17 江苏恒宝智能系统技术有限公司 一种Java卡调试协议转换方法及其转换代理
CN112996140B (zh) * 2021-02-02 2023-04-14 亚信科技(成都)有限公司 一种连接方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102056172A (zh) * 2011-01-04 2011-05-11 大唐微电子技术有限公司 一种智能卡及其进行鉴权的方法
CN102591699A (zh) * 2011-12-29 2012-07-18 飞天诚信科技股份有限公司 一种转换命令模式的方法及装置
WO2016202066A1 (zh) * 2015-06-18 2016-12-22 中兴通讯股份有限公司 信息获取方法、客户端设备和服务端设备
CN107678949A (zh) * 2017-09-20 2018-02-09 福建升腾资讯有限公司 实现嵌入式设备不同通信方式的自动化测试方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102056172A (zh) * 2011-01-04 2011-05-11 大唐微电子技术有限公司 一种智能卡及其进行鉴权的方法
CN102591699A (zh) * 2011-12-29 2012-07-18 飞天诚信科技股份有限公司 一种转换命令模式的方法及装置
WO2016202066A1 (zh) * 2015-06-18 2016-12-22 中兴通讯股份有限公司 信息获取方法、客户端设备和服务端设备
CN107678949A (zh) * 2017-09-20 2018-02-09 福建升腾资讯有限公司 实现嵌入式设备不同通信方式的自动化测试方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于CDMA2000的智能卡操作系统的测试技术研究;郭琨等;《计算机技术与发展》;20100910(第09期);全文 *
智能卡芯片操作系统的研究与实现;郭鸿志等;《计算机工程与设计》;20101016(第19期);全文 *

Also Published As

Publication number Publication date
CN110414651A (zh) 2019-11-05

Similar Documents

Publication Publication Date Title
CN110414651B (zh) 调试智能卡的方法及装置
US8424770B2 (en) Method and device for customizing a portable electronic entity
EP2421216B1 (en) Enhanced near field communication terminal, smart card and communication method thereof
US5942738A (en) Smart IC card system and smart IC card with transaction management program stored therein
CN102087715B (zh) 信息处理设备、信息处理方法和程序
US9754104B2 (en) Method for securing Java bytecode
CN104854883B (zh) 包括可配置的通知部件的nfc装置及其通信方法
CN105068910B (zh) 一种智能卡的测试方法和装置
CN113361293A (zh) 刷卡方法、卡控制器、电子设备及存储介质
CN101706860B (zh) 一种读卡器及智能卡
US20110197203A1 (en) Communication device, communication method and program
EP2793201A1 (en) Safety information transfer system, device and method based on extended parameter set
US8533747B2 (en) Method and system for selecting one or more integrated circuit card interface devices
CN110888674B (zh) 在Python虚拟机中执行安全计算的方法及装置
CN101425120B (zh) 读卡器及其执行方法
JPH11353425A (ja) Icカード端末装置
EP2759961A1 (en) Ic card, portable electronic device, and ic card control method
KR20000028688A (ko) 스마트 카드 및 그를 이용한 컴퓨터 프로그램 동작 방법
US20110227708A1 (en) Portable electronic device, communication device, and command processing method
EP3365833B1 (en) A method performed by an electronic device capable of communicating with a reader with improved self-testing
CN114417900A (zh) 实现统一读写卡和外设接入的系统及方法
US20040245331A1 (en) Method and device for processing data for customizing an application of a protable communication device, for example a smart card
WO2014009736A1 (en) Data entry
CN108595245A (zh) Java卡外设访问方法及Java卡虚拟机
KR101485157B1 (ko) 입력장치를 갖는 무선식별 태그

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40016774

Country of ref document: HK

TA01 Transfer of patent application right

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201010

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant