一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种DER转ASN.1的方法及装置与流程

2022-03-26 16:19:44 来源:中国专利 TAG:

一种der转asn.1的方法及装置
技术领域
1.本发明涉及数据处理领域,具体涉及一种der转asn.1的方法及装置。


背景技术:

2.抽象语法标记(abstract syntax notation one,简称asn.1)是一种iso/itu-t标准,其描述了一种对数据进行表示、编码、传输和解码的数据格式。asn.1提供了一整套正规的用于描述对象结构的格式,在实际的应用过程在,asn.1无需考虑语言上如何执行及数据的具体指代,也无需考虑应用程序的具体形式。der(distinguished encoding rules,可辨别编码规则)则是asn.1对象的一种具体编码格式。
3.当前,常见的操作是对asn.1格式直接采用相应编码方式,转换为der格式的文件。但是,在许多实际场景的应用环境中,提供给开发人员并不是解析完成的asn.1格式文件,而是der格式的基础文件,这对于研发人员的阅读和调试十分不便,例如,esim(embedded-sim,电子sim卡)在下载profile(虚拟卡集合)过程中,当发生下载错误时,esim的返回日志是tlv文件,此时在进行问题定位时需要人工一步步解析,耗时费力,且容易出现错漏。


技术实现要素:

4.针对现有技术中存在的缺陷,本发明的目的在于提供一种der转asn.1的方法及装置,能够完成der和asn.1间的转换,转换便捷且不易出错。
5.为达到以上目的,本发明提供一种der转asn.1的方法,具体包括以下步骤:
6.基于profile包文件中每个模块的asn.1描述、元素类型和der编码tag间的关系,构建asn.1描述内容,进行asn.1配置文件的配置;
7.解析tlv文件,得到der编码tag,并获取asn.1配置文件中对应该der编码tag的asn.1描述内容;
8.根据获取的asn.1描述内容中的元素类型,进行相应数据格式的输出。
9.在上述技术方案的基础上,
10.所述asn.1描述内容包括模块层级描述和元素层级描述;
11.所述模块层级描述的描述内容包括asn.1描述和der编码tag;
12.所述元素层级描述的描述内容包括元素类型和der编码tag。
13.在上述技术方案的基础上,
14.所述元素类型包括简单类型和复杂类型;
15.当模块的元素仅为整型、utf8字符串型、字节串型中的一种数据类型时,则模块的元素类型为简单类型;
16.当模块的元素包含整型、utf8字符串型、字节串型中的多种数据类型时,则模块的元素类型为复杂类型。
17.在上述技术方案的基础上,
18.当元素类型为简单类型时,元素层级描述的描述内容包括元素名、元素的数据类
型名、是否可选标记、是否有默认值标记和der编码tag;
19.当元素类型为复杂类型时,元素层级描述的描述内容包括元素名、所包含数据类型对应的简单类型的元素层级描述,以及der编码tag。
20.在上述技术方案的基础上,所述根据获取的asn.1描述内容中的元素类型,进行相应数据格式的输出,具体为:
21.当获取的asn.1描述内容中的元素类型为简单类型时,则根据简单类型的数据类型,针对数据类型进行相应数据格式的输出;
22.当获取的asn.1描述内容中的元素类型为复杂类型时,则根据复杂类型所包含的多个数据类型,针对各数据类型依次进行相应数据格式的输出。
23.在上述技术方案的基础上,所述解析tlv文件,得到der编码tag,并获取asn.1配置文件中对应该der编码tag的asn.1描述内容,具体为:
24.解析tlv文件,得到der编码tag、长度数据和数据内容,然后获取asn.1配置文件中对应tlv文件的der编码tag的asn.1描述内容。
25.在上述技术方案的基础上,
26.当数据类型为整型时,输出的数据格式包括元素名和tlv文件的数据内容;
27.当数据类型为utf8字符串型时,输出的数据格式包括元素名和tlv文件的数据内容的十六进制转ascii格式;
28.当数据类型为字节串型时,输出的数据格式包括元素名和tlv文件的数据内容的十六进制格式。
29.本发明提供一种der转asn.1的装置,包括:
30.配置模块,其用于基于profile包文件中每个模块的asn.1描述、元素类型和der编码tag间的关系,构建asn.1描述内容,进行asn.1配置文件的配置;
31.解析模块,其用于解析tlv文件,得到der编码tag,并获取asn.1配置文件中对应该der编码tag的asn.1描述内容;
32.输出模块,其用于根据获取的asn.1描述内容中的元素类型,进行相应数据格式的输出。
33.在上述技术方案的基础上,
34.所述asn.1描述内容包括模块层级描述和元素层级描述;
35.所述模块层级描述的描述内容包括asn.1描述和der编码tag;
36.所述元素层级描述的描述内容包括元素类型和der编码tag。
37.在上述技术方案的基础上,
38.所述元素类型包括简单类型和复杂类型;
39.当模块的元素仅为整型、utf8字符串型、字节串型中的一种数据类型时,则模块的元素类型为简单类型;
40.当模块的元素包含整型、utf8字符串型、字节串型中的多种数据类型时,则模块的元素类型为复杂类型。
41.与现有技术相比,本发明的优点在于:通过基于profile包文件中每个模块的asn.1描述、元素类型和der编码tag间的关系,构建asn.1描述内容,进行asn.1配置文件的配置,然后解析tlv文件,得到der编码tag,并获取asn.1配置文件中对应该der编码tag的
asn.1描述内容,最后根据获取的asn.1描述内容中的元素类型,进行相应数据格式的输出,从而完成der和asn.1间的转换,转换便捷且不易出错。
附图说明
42.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1为本发明实施例中一种der转asn.1的方法的流程图;
44.图2为本发明实施例中一种der转asn.1的装置的结构示意图。
具体实施方式
45.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。
46.参见图1所示,本发明实施例提供一种der转asn.1的方法,用于在进行profile相关操作时输出的der格式文件转换为asn.1格式文件,从而便于研发人员能够更方便的进行阅读和问题定位,具体包括以下步骤:
47.s1:基于profile包文件中每个模块的asn.1描述、元素类型和der编码tag(标签)间的关系,构建asn.1描述内容,进行asn.1配置文件的配置;
48.本发明实施例中,asn.1配置文件预先进行配置并进行保存,asn.1配置文件中保存有asn.1描述、元素类型和der编码tag三者之间的关系,当需要进行格式转换时,根据tlv文件的der编码tag,得到相应的asn.1描述内容,从而进行相应数据格式的输出,完成格式转换。
49.s2:解析tlv文件,得到der编码tag,并获取asn.1配置文件中对应该der编码tag的asn.1描述内容;该步骤具体为:解析tlv文件,得到der编码tag、长度数据和数据内容,然后获取asn.1配置文件中对应tlv文件的der编码tag的asn.1描述内容。tlv为der文件的具体格式。即解析tlv文件得到der编码tag后,从asn.1配置文件中查找得到对应的der编码tag,根据asn.1配置文件中的der编码tag找到对应的asn.1描述内容,然后输出asn.1描述内容。
50.对于tlv文件的每一段编码,均可以拆分为三个部分,分别为der编码tag部分、长度数据部分和具体的数据内容部分。
51.s3:根据获取的asn.1描述内容中的元素类型,进行相应数据格式的输出。即针对不同的元素类型,采取不同的数据格式输出,从而完成der转asn.1。
52.本发明实施例中,asn.1描述内容包括模块层级描述和元素层级描述;模块层级描述的描述内容包括asn.1描述和der编码tag;元素层级描述的描述内容包括元素类型和der编码tag。
53.即在进行profile的der转asn.1时,根据simalliance euicc配置文件包互操作格式技术规范中关于模块的定义,将profile包文件中每个模块元素的定义和der编码的tag进行对应。asn.1描述内容的描述形式按照层次进行划分,第一层次对应的是模块层级描
述,描述内容形式是模块的asn.1描述和der编码tag,且asn.1描述和der编码tag之间插入间隔符,从而将asn.1描述和der编码tag之间对应形成索引。
54.第二层次对应的是元素层级描述,对每个模块内的元素类型进行划分,根据元素的复杂程度进行划分,元素类型包括简单类型和复杂类型。当模块的元素仅为整型、utf8(针对unicode的一种可变长度字符编码)字符串型、字节串型中的一种数据类型时,则模块的元素类型为简单类型;当模块的元素包含整型、utf8字符串型、字节串型中的多种数据类型时,则模块的元素类型为复杂类型。例如,当模块的元素仅包含整型数据类型时,则模块的元素类型为简单类型;当模块的元素包含整型和utf8字符串型数据类型时,则模块的元素类型为复杂类型。
55.本发明实施例中,当元素类型为简单类型时,元素层级描述的描述内容包括元素名、元素的数据类型名、是否可选标记、是否有默认值标记和der编码tag;且是否有默认值标记和der编码tag之间插入间隔符。例如,当模块的元素仅包含整型数据类型时,则元素层级描述的描述内容包括元素名、整型、是否可选标记、是否有默认值标记和der编码tag。
56.当元素类型为复杂类型时,元素层级描述的描述内容包括元素名、所包含数据类型对应的简单类型的元素层级描述,以及der编码tag。例如,当模块的元素包含整型和utf8字符串型数据类型时,元素层级描述的描述内容包括元素名、整型数据类型对应的简单类型的元素层级描述、utf8字符串型数据类型对应的简单类型的元素层级描述、der编码tag。
57.本发明实施例中,根据获取的asn.1描述内容中的元素类型,进行相应数据格式的输出,具体为:
58.当获取的asn.1描述内容中的元素类型为简单类型时,则根据简单类型的数据类型,针对数据类型进行相应数据格式的输出;具体的,当数据类型为整型时,输出的数据格式包括元素名和tlv文件的数据内容;当数据类型为utf8字符串型时,输出的数据格式包括元素名和tlv文件的数据内容的十六进制转ascii格式;当数据类型为字节串型时,输出的数据格式包括元素名和tlv文件的数据内容的十六进制格式。
59.例如,当asn.1描述内容中的元素类型为简单类型,且数据类型为整型时,则输出的数据格式包括元素名和tlv文件的数据内容。
60.当获取的asn.1描述内容中的元素类型为复杂类型时,则根据复杂类型所包含的多个数据类型,针对各数据类型依次进行相应数据格式的输出。
61.例如,当asn.1描述内容中的元素类型为复杂类型,且数据类型包括整型和utf8字符串型时,则输出的数据格式包括元素名、tlv文件的数据内容、tlv文件的数据内容的十六进制转ascii格式。即先输出元素名,则依次解析对应的成员。
62.当第一层索引结束后确认模块的asn.1描述,那么即可在该模块下进行第二层级的索引,确认数据的具体内容,索引规则也是按照配置文件的配置规范进行。
63.对于本发明的der转asn.1的方法,所带来的好处包括:1、当下发了一个der格式的profile数据,若想快速知道某个字段给的具体值,如果直接看asn.1格式的文件,则会极为直观;2、当下发了一个der格式的profile数据,需要基于该profile数据产生一批profile数据,若直接采用修改der格式的字段则较为困难,且容易改错,也很费时,但转换成asn.1格式的数据后则变得容易修改。
64.本发明实施例的der转asn.1的方法,通过基于profile包文件中每个模块的asn.1
描述、元素类型和der编码tag间的关系,构建asn.1描述内容,进行asn.1配置文件的配置,然后解析tlv文件,得到der编码tag,并获取asn.1配置文件中对应该der编码tag的asn.1描述内容,最后根据获取的asn.1描述内容中的元素类型,进行相应数据格式的输出,从而完成der和asn.1间的转换,转换便捷且不易出错。
65.参见图2所示,本发明实施例提供的一种der转asn.1的装置,包括配置模块、解析模块和输出模块。配置模块用于基于profile包文件中每个模块的asn.1描述、元素类型和der编码tag间的关系,构建asn.1描述内容,进行asn.1配置文件的配置;解析模块用于解析tlv文件,得到der编码tag,并获取asn.1配置文件中对应该der编码tag的asn.1描述内容;输出模块用于根据获取的asn.1描述内容中的元素类型,进行相应数据格式的输出。
66.本发明实施例中,asn.1描述内容包括模块层级描述和元素层级描述;模块层级描述的描述内容包括asn.1描述和der编码tag:元素层级描述的描述内容包括元素类型和der编码tag。
67.元素类型包括简单类型和复杂类型;
68.当模块的元素仅为整型、utf8字符串型、字节串型中的一种数据类型时,则模块的元素类型为简单类型;
69.当模块的元素包含整型、utf8字符串型、字节串型中的多种数据类型时,则模块的元素类型为复杂类型。
70.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
71.本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献