USIM卡文件系统的测试方法、装置及介质与流程

文档序号:26192905发布日期:2021-08-06 18:46阅读:255来源:国知局
USIM卡文件系统的测试方法、装置及介质与流程

本发明涉及智能卡技术领域,特别涉及一种usim卡文件系统的测试方法、装置及介质。



背景技术:

usim卡文件系统类型主要包括:主文件(mf,masterfile)、目录文件(df,dedicatedfile)、应用目录文件(adf,applicationdedicatedfile)、基本文件(ef、elementaryfile)。基本文件包括:透明文件(tr:transparent)、线性固定文件(lf,linearfixed)、循环文件(cy,cyclic)。

mf是usim卡的入口文件,也属于目录文件,可存放df,ef文件;df可存放df和ef文件,但是df深度不超过两层;adf是应用的入口文件,可存放df,ef文件;tr是由一整块空间组成,不超过32k字节的空间;lf是由一条条记录组成,每条记录不超过255个字节,总共不超过255条记录。cy文件与lf都是由一条条记录,但是首尾记录相连,环形结构。

usim卡文件系统操作的apdu(applicationprotocoldataunit:usim卡与读卡器之间传送的信息单元)指令包括:读取指令(read),查找指令(search),更新指令(update),激活指令(activate),失效指令(deactivate),增加指令(increase),修改文件大小指令(resize)、删除文件指令(delete指令),创建文件指令(create)、终止文件指令(terminal)等。通过直接发送usim卡文件操作apdu指令管理上述usim卡文件系统,称本地文件管理usim卡文件系统。通过发送上述apdu指令与usim卡进行交互,从而获取usim卡上文件系统的信息,从而验证usim卡的文件系统是否满足客户需求要求。

但是想要确保文件系统完全满足客户需求要求,测试验证是极其耗时、过多占用人力成本的过程,之前的测试都是手动拼装apdu指令,数据量大并且以静态数据保存,拼装容易出现错误、并且不利于后续更新维护,往往更改一点,需要修正多处指令数据,从而提高维护成本。



技术实现要素:

本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种usim卡文件系统的测试方法,能够提升测试的效率,保证产品的质量,提升的usiim卡的产品稳定性和健壮性。

本发明还提出一种usim卡文件系统的测试装置。

本发明还提出一种实施上述方法的计算机可读存储介质。

根据本发明的第一方面实施例的usim卡文件系统的测试方法,包括以下步骤:从产品需求配置文件中获取第一待测usim卡文件系统信息;通过发送apdu指令到所述待测usim卡,得到第二待测usim卡文件系统信息;通过将所述第一待测usim卡文件系统信息和所述第二待测usim卡文件系统信息进行比对,输出比对结果日志。

根据本发明的一些实施例,所述方法还包括:根据待测usim卡的识别码,在本地的usim卡个性化数据文件中查找对应的安全密钥信息;其中,所述识别码数据为iccid数据,所述安全密钥信息至少包括第一持卡人密钥、第二持卡人密钥和卡片管理密钥。

根据本发明的一些实施例,所述从产品需求配置文件中获取第一待测usim卡文件系统信息包括:从产品需求配置文件中获取待测usim卡文件系统,生成usim卡文件系统树;从产品需求配置文件中获取所有文件的属性数据值,所述属性数据值包括文件id、文件权限、文件类型、文件大小、记录条数、记录长度、sfi及文件内容。

根据本发明的一些实施例,所述通过发送apdu指令到所述待测usim卡,得到第二待测usim卡文件系统信息包括:根据文件系统树中节点路径,使用预置的apdu指令函数中的选择函数选择该节点路径下的文件,获取fcp响应值和状态字;通过预置的解析fcp数据函数,得到该节点路径下的文件的属性数据值。

根据本发明的一些实施例,所述方法还包括:s1、在所述文件系统树中判断下一个待测文件是否存在,如果存在,执行步骤s2;如果不存在,结束本次流程;s2、发送选择指令选择文件id,获取fcp响应值和状态字,根据所述状态字判断该文件是否存在,如果存在,执行步骤s3,如果不存在,返回步骤s1;s3、从fcp响应值中获取属性数据值,通过不同的tag值得到不同的属性数据值,并读取文件内容。

根据本发明的一些实施例,所述通过将所述第一待测usim卡文件系统信息和所述第二待测usim卡文件系统信息进行比对,输出比对结果日志包括:将所述第一待测usim卡文件系统信息中的各属性数据值与所述第二待测usim卡文件系统信息中的各属性数据值进行一一比较,并将比较结果通过日志输出。

根据本发明的一些实施例,所述方法还包括:通过预置的smartcard类库中的smartcard读卡器连接所述待测usim卡进行交互。

根据本发明的一些实施例,所述方法还包括:与所述待测usim卡进行交互,读取所述待测usim卡的识别码文件值,通过所述识别码在个性化数据文件中匹配对应的记录数据,得到相应的第一持卡人密钥、第二持卡人密钥和卡片管理密钥;对在本地得到的和从所述待测usim卡得到的第一持卡人密钥、第二持卡人密钥和卡片管理密钥通过apdu检验指令函数进行校验。

根据本发明的第二方面实施例的usim卡文件系统的测试装置,包括:第一处理模块,用于从产品需求配置文件中获取第一待测usim卡文件系统信息;第二处理模块,用于通过发送apdu指令到所述待测usim卡,得到第二待测usim卡文件系统信息;第三处理模块,用于通过将所述第一待测usim卡文件系统信息和所述第二待测usim卡文件系统信息进行比对,输出比对结果日志。

根据本发明的第三方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明的第一方面实施例中任一项的方法。

本发明实施例至少具有如下有益效果:

1、本发明实施例能够保证产品的质量,解决测试过程复杂,手动测试容易出错误且效率低的问题;实现自动测试,提升测试效率;

2、本发明实施例能够解决测试广度不够的问题,不仅可以测试文件系统的需求符合性,还可以测试文件系统的标准符合性;

3、本发明实施例能够解决手动测试,没有测试日志,不利于后期项目审查过程中,判断是否进行了文件系统测试的问题;

4、本发明实施例输出的测试日志格式化,并记录了每一步测试过程,一旦出现问题,提升了排查问题的效率,也利于后期产品质量审计。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实施例的方法的流程示意图。

图2为本发明另一实施例的方法的流程示意图。

图3为需求与usim卡数据的对比的流程示意图。

图4为本发明实施例的装置的模块示意框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个及两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。

在本发明的描述中,步骤标号仅是为了描述的方便或者引述的方便所作出的标识,而不能理解为对步骤的操作顺序的限定。

产品需求配置文档:是技术支持负责人员把运营商针对usim卡的全部需求,按照公司制定的规则可使用操作简单、方便快捷、合法性检测的可视化配置工具,配置完成保存生成该文档。其中包括但不局限于usim卡的文件系统。

usim卡个性化数据文件:为了身份识别和安全需要,相同的一批卡,其中的关键、敏感数据不同。称个性化数据,其中包括:iccid、imsi、pin1、pin2、adm等。

参照图1,本发明实施例的方法主要包括以下步骤:从产品需求配置文件中获取第一待测usim卡文件系统信息;通过发送apdu指令到待测usim卡,得到第二待测usim卡文件系统信息;通过将第一待测usim卡文件系统信息和第二待测usim卡文件系统信息进行比对,输出比对结果日志。本实施例中,通过自动读取运营商产品需求配置文档中的usim卡的文件系统,获取文件系统中所需的数据,包括文件id、文件权限、文件类型、文件大小、记录条数、记录长度、sfi、文件内容等。初始化测试环境,通过本地apdu指令一一获取所有文件信息进行比对,并输出每个测试过程是否正确。

在一些实施例中,根据待测usim卡的识别码获取所述待测usim卡的安全密钥数据包括:根据待测usim卡的识别码,在本地的usim卡个性化数据文件中查找对应的安全密钥信息;其中,识别码数据为iccid数据,安全密钥信息至少包括第一持卡人密钥、第二持卡人密钥和卡片管理密钥。本实施例中,通过本地文件管理apdu指令读取待测卡片的iccid(integratecircuitcardidentity集成电路卡识别码)数据;根据读取iccid数据,在usim卡个性化数据文件中查找对应的安全密钥信息。例如:pin1(personalidentificationnumber:持卡人密钥)、pin2(持卡人密钥2)、adm(admonitory:卡片管理密钥)。

在一些实施例中,从产品需求配置文件中获取第一待测usim卡文件系统信息包括:从xcdl(xmlconfigurationdesignlanguage)格式的产品需求配置文件中获取待测usim卡文件系统(3f00/2f05,7f20/6f07,7f10/6f3a,7fff/6f07等等)生成usim卡文件系统树;获取所有文件的属性数据值。包括文件id、文件权限、文件类型、文件大小、记录条数、记录长度、sfi、文件内容。

参照图3,在一些实施例中,通过发送apdu指令到待测usim卡,得到第二待测usim卡文件系统信息包括:首先通过本地文件管理apdu校验指令(usim卡文件操作apdu指令)校验usim卡的pin1、pin2、adm权限;访问usim卡文件系统的操作权限。智能卡主要是为了安全服务的,发送任何apdu指令操作前,首先校验相应的权限,只有相应的权限验证通过,才可以操作。

进一步,根据文件系统树中节点路径,使用预置的apdu指令函数中的选择函数选择该节点路径下的文件,获取fcp响应值和状态字;通过预置的解析fcp数据函数,得到该节点路径下的文件的属性数据值。

进一步,具体的步骤包括:

s1、在文件系统树中判断下一个待测文件是否存在,如果存在,执行步骤s2;如果不存在,结束本次流程;

s2、发送选择指令选择文件id,获取fcp响应值和状态字,根据状态字判断该文件是否存在,如果存在,执行步骤s3,如果不存在,返回步骤s1;其中,如果状态字为61xx,该文件存在,执行下一步,如果状态字为6a82,文件不存在,回退到步骤s1;

s3、从fcp响应值中获取属性数据值,通过不同的tag值得到不同的属性数据值,并读取文件内容。其中,从fcp响应值中获取属性数据值包括:tag=82,获取文件类型,记录长度,记录个数,tag=0x8b,获取文件权限引用文件id和记录编号,权限属性和操作权限条件,tag=0x80,获取文件大小,tag=0x88,获取文件短文件标识符(sfi)。发送readbinary或readrecord指令读取文件内容。

在一些实施例中,通过将所述第一待测usim卡文件系统信息和所述第二待测usim卡文件系统信息进行比对,输出比对结果日志包括:将第一待测usim卡文件系统信息中的各属性数据值与第二待测usim卡文件系统信息中的各属性数据值进行一一比较,并将比较结果通过日志输出。

参照图2,在一实施例中,测试usim卡中3f00/7f20/6f07文件是否满足需求要求。

1、编辑产品需求配置文件(xmlconfigurationdesignlanguage),配置3f00/7f20/6f07文件属性,包括文件id、文件权限、文件类型、文件大小、文件内容。

2、预置lxml类库,解析处理产品需求配置文件,生成usim卡文件系统树,获取3f00/7f20/6f07文件id、文件权限、文件类型、文件大小、文件内容放置缓存空间。

3、预置smartcard类库,使用smartcard读卡器连接usim卡进行交互。

4、预置个性化数据获取函数,读取usim卡3f00/2fe2(iccid)文件值,使用iccid值在个性化数据文件中匹配对应的记录数据,获取相应的pin1、pin2、adm密钥。

5、预置usim卡文件操作apdu校验指令函数,校验pin1、pin2、adm权限。

6、预置usim卡文件操作apdu指令函数,包括select、readbinary、readrecord、updatebinary、updaterecord,getresponse根据文件系统树中节点路径3f00/7f20/6f07,使用select指令选择3f00/7f20/6f07文件,获取fcp响应值和状态字。

7、预置解析fcp数据函数,包括tag=0x82,获取文件类型,记录长度,记录个数,tag=0x8b,获取文件权限引用文件id和记录编号,权限属性和操作权限条件,tag=0x80,获取文件大小,tag=0x88,获取文件短文件标识符(sfi),使用readbinary指令读取文件内容。

8、预置数据比对函数和过程日志输出函数,把缓存空间中产品需求配置文件获取的文件id、文件权限、文件类型、文件大小、文件内容与通过usim卡文件操作apdu指令获取的文件id、文件权限、文件类型、文件大小、文件内容进行一一比较,并把结果日志格式化输出。

与前述实施例相对应,本发明还提供了装置的实施例。对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。

参照图4,本发明实施例的装置包括:第一处理模块,用于从产品需求配置文件中获取第一待测usim卡文件系统信息;第二处理模块,用于通过发送apdu指令到待测usim卡,得到第二待测usim卡文件系统信息;第三处理模块,用于通过将第一待测usim卡文件系统信息和第二待测usim卡文件系统信息进行比对,输出比对结果日志。

以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

尽管本文描述了具体实施方案,但是本领域中的普通技术人员将认识到,许多其它修改或另选的实施方案同样处于本公开的范围内。例如,结合特定设备或组件描述的功能和/或处理能力中的任一项可以由任何其它设备或部件来执行。另外,虽然已根据本公开的实施方案描述了各种例示性具体实施和架构,但是本领域中的普通技术人员将认识到,对本文所述的例示性具体实施和架构的许多其它修改也处于本公开的范围内。

上文参考根据示例性实施方案所述的系统、方法、系统和/或计算机程序产品的框图和流程图描述了本公开的某些方面。应当理解,框图和流程图中的一个或多个块以及框图和流程图中的块的组合可分别通过执行计算机可执行程序指令来实现。同样,根据一些实施方案,框图和流程图中的一些块可能无需按示出的顺序执行,或者可以无需全部执行。另外,超出框图和流程图中的块所示的那些部件和/或操作以外的附加部件和/或操作可存在于某些实施方案中。

因此,框图和流程图中的块支持用于执行指定功能的装置的组合、用于执行指定功能的元件或步骤的组合以及用于执行指定功能的程序指令装置。还应当理解,框图和流程图中的每个块以及框图和流程图中的块的组合可以由执行特定功能、元件或步骤的专用硬件计算机系统或者专用硬件和计算机指令的组合来实现。

本文所述的程序模块、应用程序等可包括一个或多个软件组件,包括例如软件对象、方法、数据结构等。每个此类软件组件可包括计算机可执行指令,所述计算机可执行指令响应于执行而使本文所述的功能的至少一部分(例如,本文所述的例示性方法的一种或多种操作)被执行。

软件组件可以用各种编程语言中的任一种来编码。一种例示性编程语言可以为低级编程语言,诸如与特定硬件体系结构和/或操作系统平台相关联的汇编语言。包括汇编语言指令的软件组件可能需要在由硬件架构和/或平台执行之前由汇编程序转换为可执行的机器代码。另一种示例性编程语言可以为更高级的编程语言,其可以跨多种架构移植。包括更高级编程语言的软件组件在执行之前可能需要由解释器或编译器转换为中间表示。编程语言的其它示例包括但不限于宏语言、外壳或命令语言、作业控制语言、脚本语言、数据库查询或搜索语言、或报告编写语言。在一个或多个示例性实施方案中,包含上述编程语言示例中的一者的指令的软件组件可直接由操作系统或其它软件组件执行,而无需首先转换成另一种形式。

软件组件可存储为文件或其它数据存储构造。具有相似类型或相关功能的软件组件可一起存储在诸如特定的目录、文件夹或库中。软件组件可为静态的(例如,预设的或固定的)或动态的(例如,在执行时创建或修改的)。

上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1