一种管理集装文件的方法和装置的制作方法

文档序号:7867136阅读:124来源:国知局
专利名称:一种管理集装文件的方法和装置的制作方法
技术领域
本发明涉及信息安全领域,特别是涉及一种管理集装文件的方法和装置。
背景技术
目前,在信息安全领域中,通常使用集装文件保存密钥对。集装文件是一种用于保存密钥对的EF(Elementary File,基本文件),每个集装文件中可以存放2个密钥对,其中,一个密钥对用于进行加密,另一个密钥对用于进行签名。现有技术中,通常使用中间件维护集装文件,而密钥对都是在初始化时预置好的,中间件根据预置的密钥对建立集装文件和密钥对之间的对应关系。 发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷现有的维护集装文件的方式效率比较低,而且把一个功能分成多个步骤来实现,一旦意外掉电,会出现中间件和COS (Chip Operating System,卡内操作系统)不一致的现象;此外,在初始化时预置密钥对,还会造成空间浪费。

发明内容
本发明提供了一种管理集装文件的方法和装置,以避免中间件和COS之间的不一致。本发明提供了一种管理集装文件的方法,包括以下步骤A、上电;B、等待接收命令;C、对接收到的命令进行判断,如果所述接收到的命令为预设的创建集装命令,则执行步骤D ;如果所述接收到的命令为预设的生成密钥对命令,则执行步骤E ;如果所述接收到的命令需要读集装文件,则执行步骤F ;如果所述接收到的命令需要使用集装文件,则执行步骤G ;如果所述接收到的命令为删除集装命令,则执行步骤H ;D、生成集装文件,将所述创建集装命令中的集装序号写入到所述集装文件的头信息中,将所述创建集装命令中的集装名称写入到所述集装文件中,发送用于表示正确执行的响应报文,并返回步骤B;或者,分配一个未被使用的集装序号,生成集装文件,将分配的集装序号和写入到生成的集装文件的头信息中,将所述创建集装命令中的集装名称写入到所述生成的集装文件,发送包含所述分配的集装序号的响应报文,并返回步骤B ;E、根据所述生成密钥对命令中的集装序号,检索相应的集装文件;根据所述生成密钥对命令中的输入数据生成密钥对,根据所述生成密钥对命令中的集装序号,将所述密钥对和所述生成密钥对命令中的集装类别写入到检索到的集装文件中,发送包含所述密钥对中的公钥数据的响应报文,并返回步骤B ;F、根据所述接收到的命令中的集装序号,检索相应的集装文件,发送包含检索到的集装文件的内容的响应报文,并返回步骤B ;G、根据所述接收到的命令的数据域中的集装序号,检索相应的集装文件,使用与检索到的集装文件对应的密钥,执行与所述接收到的命令对应的操作,发送相应的响应报文,并返回步骤B;H、根据所述删除集装命令的数据域所包含的集装序号或集装名称,检索相应的集装文件,将检索到的集装文件删除,发送用于表示正确执行的响应报文,并返回步骤B。本发明还提供了一种管理集装文件的装置,包括接收模块,用于接收命令;
第一判断模块,用于对所述接收模块接收到的命令进行判断;第一处理模块,用于在所述第一判断模块判断所述接收到的命令为预设的创建集装命令时,生成集装文件,将所述创建集装命令中的集装序号写入到所述集装文件的头信息中,将所述创建集装命令中的集装名称写入到所述集装文件中,发送用于表示正确执行的响应报文;或者,分配一个未被使用的集装序号,生成集装文件,将分配的集装序号和写入到生成的集装文件的头信息中,将所述创建集装命令中的集装名称写入到所述生成的集装文件,发送包含所述分配的集装序号的响应报文;第二处理模块,用于在所述第一判断模块判断所述接收到的命令为生成密钥对命令时,根据所述生成密钥对命令中的集装序号,检索相应的集装文件;根据所述生成密钥对命令中的输入数据生成密钥对,根据所述生成密钥对命令中的集装序号,将所述密钥对和所述生成密钥对命令中的集装类别写入到检索到的集装文件中,发送包含所述密钥对中的公钥数据的响应报文;第三处理模块,用于在所述第一判断模块判断所述接收到的命令需要读集装文件时,根据所述接收到的命令中的集装序号,检索相应的集装文件,发送包含检索到的集装文件的内容的响应报文;第四处理模块,用于在所述第一判断模块判断所述接收到的命令需要使用集装文件时,根据所述接收到的命令的数据域中的集装序号,检索相应的集装文件,使用与检索到的集装文件对应的密钥,执行与所述接收到的命令对应的操作,发送相应的响应报文;第五处理模块,用于在所述第一判断模块判断所述接收到的命令为删除集装命令时,根据所述删除集装命令的数据域所包含的集装序号或集装名称,检索相应的集装文件,将检索到的集装文件删除,发送用于表示正确执行的响应报文。本发明实施例将集装文件作为一个独立的文件类型来管理,并建立集装文件与证书文件之间的关联,从而在初始化时仅创建一个集装文件并不分配空间,避免空间浪费;当生成或导入密钥对时仅需指定集装文件,如果意外掉电,也不会出现中间件和COS不一致的现象。


图1为本发明实施例一中的一种创建集装文件的方法流程图;图2为本发明实施例二中的一种创建集装文件的方法流程图3为本发明实施例三中的一种写集装文件的方法流程图;图4为本发明实施例四中的一种写证书文件的方法流程图;图5为本发明实施例五中的一种读集装文件的方法流程图;图6为本发明实施例六中的一种读证书文件的方法流程图;图7为本发明实施例七中的一种使用集装文件的方法流程图;图8为本发明实施例八中的一种使用集装文件的方法流程图;图9为本发明实施例九中的一种删除集装文件的方法流程图;
图10为本发明实施例十中的一种管理集装文件的装置结构图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式做进一步的详细描述。如图1所示,为本发明实施例一中的一种创建集装文件的方法流程图,包括以下步骤步骤101,上电。步骤102,等待接收命令。步骤103,判断接收到的命令是否为预设的创建集装命令,如果是,则执行步骤104 ;否则,执行步骤111。具体地,可以判断接收到的命令是否同时满足以下两个条件1.首标中的第二字节的取值为第一预设值;2.数据域中的文件属性的取值为第二预设值;如果同时满足上述两个条件,则确定该命令为预设的创建集装命令;否则,确定该命令不是预设的创建集装命令。其中,第一预设值可以为“ΟχΕΟ”。接收到的命令可以包括长度为4字节的首标,首标包括第一字节、第二字节、第三字节和第四字节。步骤104,根据创建集装命令所包含的应用序号,检索相应的应用。 其中,应用序号包含在创建集装命令的数据域中。步骤105,判断是否检索到相应的应用,如果是,则执行步骤107 ;否则,执行步骤106。步骤106,发送包含错误码的响应报文,并返回步骤102。优选地,响应报文所包含的错误码用于表示引用的应用未找到。步骤107,获取检索到的应用上已创建的集装文件的名称,根据获取的名称生成集装名称列表。具体地,可以根据创建集装命令中的应用序号,检索头信息包含该应用序号的集装文件,将检索到的集装文件作为该应用序号对应的应用上已创建的集装,并获取该集装的名称,根据获取的名称生成集装名称列表。其中,生成的集装名称列表包含该应用序号对应的应用上所有已创建的集装文件的名称。
步骤108,判断创建集装命令中的集装名称是否包含在生成的集装名称列表中,如果是,则执行步骤109 ;否则,执行步骤110。步骤109,发送包含错误码的响应报文,并返回步骤102。优选地,响应报文所包含的错误码用于表示指定的集装已存在。步骤110,分配一个未被使用的集装序号,生成集装文件,清空该集装文件的头信息中的保留字节,将分配的集装序号和创建集装命令中的应用序号写入到该集装文件的头信息中,将创建集装命令中的集装名称写入到该集装文件的正文,发送包含上述集装序号的响应报文,并返回步骤102。优选地,还可以将创建集装命令中的文件属性写入到该集装文件的头信息中,将创建集装命令中的集装名称写入到该集装文件正文的最前面。集装名称的大小为64个字节,集装文件的头信息中的保留字节的大小可以为3个字节,文件属性和集装名称包含在 创建集装命令的数据域中,发送的集装序号包含在响应报文的数据域中。步骤111,根据接收到的命令进行相应的处理,根据处理结果发送响应报文,并返回步骤102。需要说明的是,上述实施方式中的步骤107至步骤109为优选步骤,用于避免集装名称的重复。在本发明的其他实施方式中,也可以不执行步骤107至步骤109,同样可以实现本发明的发明目的。在本发明的其他实施方式中,可以在判断接收到的命令为预设的创建集装命令后,判断是否满足权限,如果满足权限,则创建集装文件,即,执行步骤104至步骤110 ;否则,报错。上述实施方式同样可以实现本发明的发明目的。在本发明的其他实施方式中,也可以在内部维护各个应用对应的集装名称列表,并在生成集装文件时,更新该集装名称列表;相应地,在检索到与创建集装命令中的应用序号对应的应用时,判断创建集装命令中的集装名称是否包含在该应用对应的集装名称列表中,并执行之后的操作,同样可以实现本发明的发明目的。如图2所示,为本发明实施例二中的一种创建集装文件的方法流程图,包括以下步骤步骤201,上电。步骤202,等待接收命令。步骤203,判断接收到的命令是否为预设的创建集装命令,如果是,则执行步骤204 ;否则,执行步骤208。具体地,可以对接收到的命令的首标中的第二字节的取值进行判断,如果第二字节的取值为第三预设值,则确定该命令为预设的创建集装命令;如果第二字节的取值不是第三预设值,则确定该命令不是预设的创建集装命令。步骤204,根据创建集装命令所包含的应用序号,检索相应的应用。其中,应用序号包含在创建集装命令的数据域中。步骤205,判断是否检索到相应的应用,如果是,则执行步骤207 ;否则,执行步骤206。步骤206,发送包含错误码的响应报文,并返回步骤202。优选地,响应报文所包含的错误码用于表示引用的应用未找到。
步骤207,获取检索到的应用上已创建的集装的序号,根据获取的序号生成集装序号列表。具体地,可以根据创建集装命令中的应用序号,检索头信息包含该应用序号的集装文件,将检索到的集装文件作为该应用序号对应的应用上已创建的集装,并获取该集装的集装序号,根据获取的集装序号生成集装序号列表。其中,应用序号可以包含在创建集装命令的数据域中,生成的集装序号列表包含该应用序号对应的应用上所有已创建的集装的序号。步骤208,判断创建集装命令中的集装序号是否包含在生成的集装序号列表中,如果是,则执行步骤209 ;否则,执行步骤210。步骤209,发送包含错误码的响应报文,并返回步骤202。优选地,响应报文所包含的错误码用于表示指定的集装已存在。步骤210,生成集装文件,清空该集装文件的头信息中的保留字节,将创建集装命令中的应用序号和集装序号写入到该集装文件的头信息中,将创建集装命令中的集装名称写入到该集装文件的正文,发送响应报文,并返回步骤202。优选地,还可以将创建集装命令中的文件属性写入到该集装文件的头信息中,将创建集装命令中的集装名称写入到该集装文件正文的最前面,并发送响应报文,该响应报文用于表示正确执行接收到的创建集装命令。集装名称的大小可以为64个字节,集装文件的头信息中的保留字节的大小可以为3个字节,文件属性和集装名称可以包含在创建集装命令的数据域中。步骤211,根据接收到的命令进行相应的处理,根据处理结果发送响应报文,并返回步骤202。需要说明的是,上述实施方式中的步骤207至步骤209为优选步骤,用于避免集装 序号的重复。在本发明的其他实施方式中,也可以不执行步骤207至步骤209,同样可以实现本发明的发明目的。在本发明的其他实施方式中,可以在判断接收到的命令为预设的创建集装命令后,判断是否满足权限,如果满足权限,则创建集装文件,即,执行步骤204至步骤210 ;否则,报错。上述实施方式同样可以实现本发明的发明目的。在本发明的其他实施方式中,也可以在内部维护各个应用对应的集装序号列表,并在生成集装文件时,更新该集装序号列表;相应地,在检索到与创建集装命令中的应用序号对应的应用时,判断创建集装命令中的集装序号是否包含在该应用对应的集装序号列表中,并执行之后的操作,同样可以实现本发明的发明目的。如图3所示,为本发明实施例三中的一种写集装文件的方法流程图,包括以下步骤步骤3Ol,上电。步骤302,等待接收命令。步骤303,判断接收到的命令是否为预设的生成密钥对命令,如果是,则执行步骤304 ;否则,执行步骤312。具体地,可以对接收到的命令的首标中的第二字节的取值进行判断,如果第二字节的取值为第四预设值,则确定该命令为预设的生成密钥对命令;如果第二字节的取值不是第四预设值,则确定该命令不是预设的生成密钥对命令。其中,第四预设值可以为“0xE2”。步骤304,根据生成密钥对命令所包含的应用序号,检索相应的应用。其中,应用序号包含在生成密钥对命令的数据域中。步骤305,判断是否检索到相应的应用,如果是,则执行步骤307 ;否则,执行步骤306。·
步骤306,发送包含错误码的响应报文,并返回步骤302。优选地,响应报文所包含的错误码用于表示引用的应用未找到。步骤307,根据生成密钥对命令所包含的集装序号,检索相应的集装文件。其中,集装序号包含在生成密钥对命令的数据域中。步骤308,判断是否检索到相应的集装文件,如果是,则执行步骤310 ;否则,执行步骤309。步骤309,发送包含错误码的响应报文,并返回步骤302。优选地,响应报文所包含的错误码用于表示弓I用的集装不存在。步骤310,根据生成密钥对命令中的输入数据生成密钥对。其中,输入数据为生成密钥对命令中的数据域的内容,可以包括密钥模位长,优选地,生成密钥对命令中的数据域还可进一步包括密钥使用信息,该密钥使用信息用于判断对密钥对的使用请求是否满足权限,包括密钥对索引、公钥使用权限、公钥更新权限、私钥使用权限、私钥更新权限、后续权限值和错误计数器。例如,公私钥对索引为01时,表示该密钥对为I号密钥对;公钥使用权限为11时,表示如果权限大于等于1,可使用该密钥对中的公钥;公钥更新权限为13时,表示如果权限大于等于3,可更新该密钥对中的公钥;私钥使用权限为15时,表示如果权限大于等于5,可使用该密钥对中的私钥;私钥更新权限为17时,表示如果权限大于等于7,可更新该密钥对中的私钥;后续权限值为00时,表示校验后权限可达到O ;错误计数器为65时,表示最大错误次数为6,剩余错误次数为5。步骤311,将生成的密钥对和生成密钥对命令中的集装类别写入到检索到的集装文件中,发送该密钥对中的公钥数据,并返回步骤302。优选地,可以从生成密钥对命令的数据域中获取集装类别,将该集装类别和生成的密钥对写入到检索到的集装文件的头信息中,并发送包含该密钥对中的公钥数据的响应报文,公钥数据包含在响应报文的数据域中,集装类别可以是SM2类型或RSA类型。步骤312,根据接收到的命令进行相应的处理,根据处理结果发送响应报文,并返回步骤302。需要说明的是,在本发明的其他实施方式中,可以在确定接收到的命令为预设的生成密钥对命令后,判断是否满足权限,如果满足权限,则执行生成密钥对的操作,即,执行步骤304至步骤311 ;否则,报错。上述实施方式同样可以实现本发明的发明目的。如图4所示,为本发明实施例四中的一种写证书文件的方法流程图,包括以下步骤步骤401,上电。步骤402,等待接收命令。步骤403,判断接收到的命令是否为预设的导入证书命令,如果是,则执行步骤404 ;否则,执行步骤417。具体地,可以对接收到的命令的首标中的第二字节的取值进行判断,如果第二字节的取值为第五预设值,则确定该命令为预设的导入证书命令;如果第二字节的取值不是第五预设值,则确定该命令不是预设的导入证书命令。其中,第五预设值可以为“0xD6”。步骤404,判断导入证书命令中是否包含集装序号和证书类别,如果是,则执行步骤406 ;否则,执行步骤405。具体地,可以判断导入证书命令的数据域中的 前3个字节是否为集装序号和证书类别,如果是,则确定该命令的数据域中包含集装序号和证书类别;否则,确定该命令的数据域中不包含集装序号和证书类别。优选地,证书类别可以为SM2类型或RSA类型。步骤405,发送包含错误码的响应报文,并返回步骤402。步骤406,根据导入证书命令所包含的应用序号,检索相应的应用。其中,应用序号包含在导入证书命令的数据域中。步骤407,判断是否检索到相应的应用,如果是,则执行步骤409 ;否则,执行步骤408。步骤408,发送包含错误码的响应报文,并返回步骤402。优选地,响应报文所包含的错误码用于表示引用的应用未找到。步骤409,根据导入证书命令所包含的集装序号,检索相应的集装文件。其中,集装序号包含在导入证书命令的数据域中。步骤410,判断是否检索到相应的集装文件,如果是,则执行步骤412 ;否则,执行步骤411。步骤411,发送包含错误码的响应报文,并返回步骤402。优选地,响应报文所包含的错误码用于表示应用的集装不存在。步骤412,判断检索到的集装文件中,是否存在与导入证书命令中的证书类别相匹配的密钥对,如果存在,则执行步骤414 ;否则,执行步骤413。具体地,可以从检索到的集装文件的头信息中读取集装类别,判断读取到的集装类别是否与导入证书命令中的证书类别相匹配,如果匹配,则确定检索到的集装文件中存在与导入证书命令中的证书类别相匹配的密钥对;否则,确定检索到的集装文件中不存在与导入证书命令中的证书类别相匹配的密钥对。例如,如果检索到的集装文件的集装类别为SM2类型,则当导入证书命令中的证书类别为SM2类型时,可以确定两者匹配;当导入证书命令中的证书类别为其他类型时,可以确定两者不匹配。如果检索到的集装文件的集装类别为为RSA类型,则当导入证书命令中的证书类别为RSA类型时,可以确定两者匹配;当导入证书命令中的证书类别为其他类型时,可以确定两者不匹配。步骤413,发送包含错误码的响应报文,并返回步骤402。优选地,响应报文所包含的错误码用于表示集装文件中没有对应的密钥对。步骤414,判断是否存在预先选定的证书文件,如果存在,则执行步骤416 ;否则,执行步骤415。步骤415,发送包含错误码的响应报文,并返回步骤402。步骤416,将导入证书命令中的集装序号、证书类别和证书内容写入到预先选定的证书文件中,发送响应报文,并返回步骤402。
优选地,可以将导入证书命令中的集装序号和证书类别写入到预先选定的证书文件的头信息中,根据导入证书命令的首标中的第三字节和第四字节的取值,将证书内容写入到证书文件的正文的相应位置,并发送响应报文,该响应报文用于表示正确执行接收到的导入证书命令。步骤417,根据接收到的命令进行相应的处理,根据处理结果发送响应报文,并返回步骤402。需要说明的是,在本发明的其他实施方式中,在确定接收到的命令为预设的导入证书命令后,可以判断导入证书命令的数据域中是否包含证书类别,如果是,则将证书类别写入到预先选定的证书文件的头信息中,将导入证书命令的数据域包含的证书内容写入到证书文件中,并返回步骤402 ;否则,发送包含错误码的响应报文,并返回步骤402,同样可以实现本发明的发明目的。 在本发明的其他实施方式中,可以在确定接收到的命令为预设的导入证书命令后,判断是否满足权限,如果满足权限,则执行导入证书的操作,即,执行步骤404至步骤416 ;否则,报错。上述实施方式同样可以实现本发明的发明目的。如图5所示,为本发明实施例五中的一种读集装文件的方法流程图,该流程图以读公钥命令作为读集装文件的命令的示例,包括以下步骤步骤501,上电。步骤502,等待接收命令。步骤503,判断接收到的命令是否为预设的读公钥命令,如果是,则执行步骤504 ;否则,执行步骤517。具体地,可以对接收到的命令的首标中的第二字节的取值进行判断,如果第二字节的取值为第六预设值,则确定该命令为预设的读公钥命令;如果第二字节的取值不是第六预设值,则确定该命令不是预设的读证书命令。其中,第六预设值可以为“0xE6”,也可以为其他值。步骤504,根据读公钥命令所包含的应用序号,检索相应的应用。其中,应用序号包含在读公钥命令的数据域中。步骤505,判断是否检索到相应的应用,如果是,则执行步骤507 ;否则,执行步骤506。步骤506,发送包含错误码的响应报文,并返回步骤502。优选地,响应报文所包含的错误码用于表示引用的应用未找到。步骤507,根据读公钥命令所包含的集装序号,检索相应的集装文件。其中,集装序号包含在读公钥命令的数据域中。步骤508,判断是否检索到相应的集装文件,如果是,则执行步骤510 ;否则,执行步骤509。步骤509,发送包含错误码的响应报文,并返回步骤502。优选地,响应报文所包含的错误码用于表示引用的集装不存在。步骤510,对读公钥命令中的公钥类型进行判断,如果读公钥命令中的公钥类型为签名公钥,则执行步骤511 ;如果读公钥命令中的公钥类型为加解密公钥,则执行步骤514。具体地,可以对读公钥命令的首标中的第三字节的取值进行判断,如果读公钥命令的首标中的第三字节的取值为第七预设值,则确定读公钥命令中的公钥类型为签名公钥;如果读公钥命令的首标中的第三字节的取值为第八预设值,则确定读公钥命令中的公钥类型为加解密公钥。步骤511,判断检索到的集装文件中是否包含签名密钥对,如果是,则执行步骤513 ;否则,执行步骤512。步骤512,发送包含错误码的响应报文,并返回步骤502。优选地,响应报文所包含的错误码用于表示对应的密钥对不存在。步骤513,发送检索到的集装文件中的签名公钥,并返回步骤502。优选地,可以发送包含检索到的集装文件中的签名公钥的响应报文,签名公钥包含在响应报文的数据域中。 步骤514,判断检索到的集装文件中是否包含加解密密钥对,如果是,则执行步骤516 ;否则,执行步骤515。步骤515,发送包含错误码的响应报文,并返回步骤502。优选地,响应报文所包含的错误码用于表示对应的密钥对不存在。步骤516,发送检索到的集装文件中的加解密公钥,并返回步骤502。优选地,可以发送包含检索到的集装文件中的加解密公钥的响应报文,加解密公钥包含在响应报文的数据域中。步骤517,根据接收到的命令进行相应的处理,根据处理结果发送响应报文,并返回步骤502。需要说明的是,在本发明的其他实施方式中,可以在确定接收到的命令为读公钥命令后,判断是否满足权限,如果满足权限,则执行读公钥的操作,即,执行步骤504至步骤516;否则,报错。上述实施方式同样可以实现本发明的发明目的。如图6所示,为本发明实施例六中的一种读证书文件的方法流程图,包括以下步骤步骤601,上电。步骤602,等待接收命令。步骤603,判断接收到的命令是否为预设的读证书命令,如果是,则执行步骤604 ;否则,执行步骤616。具体地,可以对接收到的命令的首标中的第二字节的取值进行判断,如果第二字节的取值为第九预设值,则确定该命令为预设的读证书命令;如果第二字节的取值不是第九预设值,则确定该命令不是预设的读证书命令。其中,第九预设值可以为“OxBO”,也可以为其他值。步骤604,根据读证书命令所包含的应用序号,检索相应的应用。其中,应用序号包含在读证书命令的数据域中。步骤605,判断是否检索到相应的应用,如果是,则执行步骤607 ;否则,执行步骤606。步骤606,发送包含错误码的响应报文,并返回步骤602。优选地,响应报文所包含的错误码用于表示引用的应用未找到。步骤607,根据读证书命令所包含的集装序号,检索相应的集装文件。
其中,集装序号包含在读证书命令的数据域中。步骤608,判断是否检索到相应的集装文件,如果是,则执行步骤610 ;否则,执行步骤609。步骤609,发送包含错误码的响应报文,并返回步骤602。优选地,响应报文所包含的错误码用于表示引用的集装不存在。步骤610,根据读证书命令所包含的证书序号,检索相应的证书文件。其中,证书序号包含在读证书命令的数据域中。步骤611,判断是否检索到相应的证书文件,如果是,则执行步骤613 ;否则,执行 步骤612。步骤612,发送包含错误码的响应报文,并返回步骤602。优选地,响应报文所包含的错误码用于表示引用的证书不存在。步骤613,判断检索到的证书文件的类别是否与读证书命令中的证书类别相同,如果是,则执行步骤615 ;否则,执行步骤614。步骤614,发送包含错误码的响应报文,并返回步骤602。步骤615,发送检索到的证书文件的信息,并返回步骤602。优选地,可以发送包含检索到的证书文件的信息的响应报文,证书文件的信息包括证书数据长度和证书数据,包含在响应报文的数据域中。步骤616,根据接收到的命令进行相应的处理,根据处理结果发送响应报文,并返回步骤602。需要说明的是,在本发明的其他实施方式中,可以在确定接收到的命令为预设的读证书命令后,判断是否满足权限,如果满足权限,则执行读证书的操作,即,执行步骤604至步骤615;否则,报错。上述实施方式同样可以实现本发明的发明目的。如图7所示,为本发明实施例七中的一种使用集装文件的方法流程图,该流程图以导入加密会话密钥命令作为使用集装文件的命令的示例,包括以下步骤步骤701,上电。步骤702,等待接收命令。步骤703,判断接收到的命令是否为预设的导入加密会话密钥命令,如果是,则执行步骤704 ;否则,执行步骤713。具体地,可以判断接收到的命令的首标中的第二字节的取值是否为第十预设值,如果是,则确定接收到的命令为预设的导入加密会话密钥命令;否则,则确定接收到的命令不是预设的导入加密会话密钥命令。其中,第十预设值可以为“ OxDO ”,也可以为其他值。步骤704,根据导入加密会话密钥命令所包含的应用序号,检索相应的应用。其中,应用序号包含在导入加密会话密钥命令的数据域中。步骤705,判断是否检索到相应的应用,如果是,则执行步骤707 ;否则,执行步骤706。步骤706,发送包含错误码的响应报文,并返回步骤702。优选地,响应报文所包含的错误码用于表示引用的应用未找到。步骤707,根据导入加密会话密钥命令所包含的集装序号,检索相应的集装文件。
其中,集装序号包含在导入加密会话密钥命令的数据域中。步骤708,判断是否检索到相应的集装文件,如果是,则执行步骤710 ;否则,执行步骤709。步骤709,发送包含错误码的响应报文,并返回步骤702。优选地,响应报文所包含的错误码用于表示引用的集装不存在。步骤710,判断检索到的集装文件中是否包含签名密钥对,如果是,则执行步骤712 ;否则,执行步骤711。步骤711,发送包含错误码的响应报文,并返回步骤702。优选地,响应报文所包含的错误码用于表示集装文件中没有对应的密钥对。 步骤712,使用检索到的集装文件中的签名私钥,对导入加密会话密钥命令中的会话密钥密文进行解密,对解密得到的会话密钥进行保存,发送该会话密钥的序号,并返回步骤 702。优选地,可以发送包含解密得到的会话密钥的序号的响应报文,会话密钥的序号包含在响应报文的数据域中,会话密钥密文包含在导入加密会话密钥命令的数据域中。步骤713,根据接收到的命令进行相应的处理,根据处理结果发送响应报文,并返回步骤702。需要说明的是,在本发明的实施方式中,可以在判断接收到的命令为导入加密会话密钥命令后,判断是否满足权限,如果满足权限,则执行导入加密会话密钥的操作,即,执行步骤704至步骤712 ;否则,报错。上述实施方式同样可以实现本发明的发明目的。如图8所示,为本发明实施例八中的一种使用集装文件的方法流程图,该流程图以签名命令作为使用集装文件的命令的示例,包括以下步骤步骤801,上电。步骤802,等待接收命令。步骤803,判断接收到的命令是否为预设的签名命令,如果是,则执行步骤804 ;否贝U,执行步骤813。具体地,可以判断接收到的命令是否满足以下条件首标中的第二字节的取值是为第十一预设值,且首标中的第三字节的取值是为第十二预设值,如果满足,则确定接收到的命令为签名命令;否则,则确定接收到的命令不是签名命令,其中,第十一预设值可以为“ 0x2A”,第十二预设值可以为“ 0x9E ”。步骤804,根据签名命令所包含的应用序号,检索相应的应用。其中,应用序号包含在签名命令的数据域中。步骤805,判断是否检索到相应的应用,如果是,则执行步骤807 ;否则,执行步骤806。步骤806,发送包含错误码的响应报文,并返回步骤802。优选地,响应报文所包含的错误码用于表示引用的应用未找到。步骤807,根据签名命令所包含的集装序号,检索相应的集装文件。其中,集装序号包含在签名命令的数据域中。步骤808,判断是否检索到相应的集装文件,如果是,则执行步骤810 ;否则,执行步骤809。
步骤809,发送包含错误码的响应报文,并返回步骤802。优选地,响应报文所包含的错误码用于表示引用的集装不存在。步骤810,判断检索到的集装文件中是否包含签名密钥对,如果是,则执行步骤812 ;否则,执行步骤811。步骤811,发送包含错误码的响应报文,并返回步骤802。优选地,响应报文所包含的错误码用于表示集装文件中没有对应的密钥对。
步骤812,使用检索到的集装文件中的签名私钥,对签名命令中的待签名数据进行签名,发送签名结果,并返回步骤802。优选地,可以发送包含签名结果的响应报文,签名结果包含在响应报文的数据域中,待签名数据包含在签名命令的数据域中。步骤813,根据接收到的命令进行相应的处理,根据处理结果发送响应报文,并返回步骤802。需要说明的是,在本发明的实施方式中,可以在判断接收到的命令为签名命令后,判断是否满足权限,如果满足权限,则执行使用集装文件的操作,即,执行步骤804至步骤812;否则,报错。上述实施方式同样可以实现本发明的发明目的。如图9所示,为本发明实施例九中的一种删除集装文件的方法流程图,包括以下步骤步骤901,上电。步骤902,等待接收命令。步骤903,判断接收到的命令是否为预设的删除集装命令,如果是,则执行步骤904 ;否则,执行步骤911。具体地,可以判断接收到的命令的首标中的第二字节的取值是否为第十三预设值,如果为第十三预设值,则确定该命令为删除集装命令;否则,确定该命令不是删除集装命令。其中,第十三预设值可以为“ΟχΕΕ”。步骤904,根据删除集装命令所包含的应用序号,检索相应的应用。其中,应用序号包含在删除集装命令的数据域中。步骤905,判断是否检索到相应的应用,如果是,则执行步骤907 ;否则,执行步骤906。步骤906,发送包含错误码的响应报文,并返回步骤902。优选地,响应报文所包含的错误码用于表示引用的应用未找到。步骤907,根据删除集装命令所包含的集装信息,检索相应的集装文件。其中,集装信息包含在删除集装命令的数据域中,可以为集装序号或集装名称。步骤908,判断是否检索到相应的集装文件,如果是,则执行步骤910 ;否则,执行步骤909。步骤909,发送包含错误码的响应报文,并返回步骤902。优选地,响应报文所包含的错误码用于表示指定的集装不存在。步骤910,对检索到的集装文件进行删除,发送响应报文,并返回步骤902。其中,发送的响应报文用于表示正确执行接收到的删除集装命令。优选地,在根据删除集装命令所包含的集装信息检索到集装文件后,还可以对与检索到的集装文件关联的密钥进行删除;删除集装命令所包含的集装信息为集装序号时,还可以对与检索到的集装文件关联的证书文件进行删除,具体地,可以将头信息包含删除集装命令中的集装序号的文件作为与检索到的集装文件关联的证书文件,并将该证书文件删除。步骤911,根据接收到的命令进行相应的处理,根据处理结果发送响应报文,并返回步骤902。需要说明的是,在本发明的实施方式中,可以在判断接收到的命令为删除集装命令后,判断是否满足权限,如果满足权限,则执行删除操作,即,执行步骤904至步骤910 ;否则,报错。上述实施方式同样可以实现本发明的发明目的。本发明实施例将集装文件作为一个独立的文件类型来管理,并建立集装文件与证书文件之间的关联,从而在初始化时仅创建一个集装文件并不分配空间,避免空间浪费;当·生成或导入密钥对时仅需指定集装文件,如果意外掉电,也不会出现中间件和COS不一致的现象。如图10所示,为本发明实施例十中的一种管理集装文件的装置结构图,包括接收模块1001,用于接收命令。第一判断模块1002,用于对接收模块1001接收到的命令进行判断。具体地,上述第一判断模块1002,具体用于判断接收到的命令是否同时满足以下条件首标中的第二字节的取值为第一预设值,且数据域中的文件属性的取值为第二预设值;如果同时满足,则确定所述接收到的命令为创建集装命令;否则,确定所述接收到的命令不是创建集装命令;或者,对所述接收到的命令的首标中的第二字节的取值进行判断,如果第二字节的取值为第三预设值,则确定所述接收到的命令为的创建集装命令;如果第二字节的取值不是第三预设值,则确定所述接收到的命令不是创建集装命令。上述第一判断模块1002,还具体用于判断所述接收到的命令的首标中的第二字节的取值是否为第五预设值,如果是,则确定所述接收到的命令为导入证书命令;否则,则确定所述接收到的命令不是导入证书命令。上述第一判断模块1002,还具体用于判断所述接收到的命令的首标中的第二字节的取值是否为第五预设值,如果是,则确定所述接收到的命令为生成密钥对命令;否则,则确定所述接收到的命令不是生成密钥对命令。上述第一判断模块1002,还具体用于判断所述接收到的命令的首标中的第二字节的取值是否为第十三预设值,如果是,则确定所述接收到的命令为删除集装命令;否则,则确定所述接收到的命令不是删除集装命令。第一处理模块1003,用于在第一判断模块1002判断所述接收到的命令为预设的创建集装命令时,生成集装文件,将所述创建集装命令中的集装序号写入到所述集装文件的头信息中,将所述创建集装命令中的集装名称写入到所述集装文件中,发送用于表示正确执行的响应报文;
或者,分配一个未被使用的集装序号,生成集装文件,将分配的集装序号和写入到生成的集装文件的头信息中,将所述创建集装命令中的集装名称写入到所述生成的集装文件,发送包含所述分配的集装序号的响应报文;第二处理模块1004,用于在第一判断模块1002判断所述接收到的命令为生成密钥对命令时,根据所述生成密钥对命令中的集装序号,检索相应的集装文件;根据所述生成密钥对命令中的输入数据生成密钥对,根据所述生成密钥对命令中的集装序号,将所述密钥对和所述生成密钥对命令中的集装类别写入到检索到的集装文件中,发送包含所述密钥对中的公钥数据的响应报文;第三处理模块1005,用于在第一判断模块1002判断所述接收到的命令需要读集装文件时,根据所述接收到的命令中的集装序号,检索相应的集装文件,发送包含检索到的集装文件的内容的响应报文;
上述第一判断模块1002,还用于在判断所述接收到的命令为预设的读公钥命令时,对所述读公钥命令的首标中的第三字节的取值进行判断;相应地,上述第三处理模块1005,具体用于在所述第一判断模块判断所述读公钥命令的首标中的第三字节的取值为第七预设值时,根据所述接收到的命令中的集装序号,检索相应的集装文件,发送响应报文,所述响应报文中包含所述检索到的集装文件中的签名公钥;在所述第一判断模块判断所述读公钥命令的首标中的第三字节的取值为第八预设值时,根据所述接收到的命令中的集装序号,检索相应的集装文件,发送响应报文,发送响应报文,所述响应报文中包含所述检索到的集装文件中的加解密公钥。上述第一判断模块1002,具体用于判断所述接收到的命令的首标中的第二字节的取值是否为第六预设值,如果是,则确定所述接收到的命令为读公钥命令;否则,则确定所述接收到的命令不是读公钥命令。第四处理模块1006,用于在第一判断模块1002判断所述接收到的命令需要使用集装文件时,根据所述接收到的命令的数据域中的集装序号,检索相应的集装文件,使用与检索到的集装文件对应的密钥,执行与所述接收到的命令对应的操作,发送相应的响应报文;具体地,需要使用集装文件的命令为预设的导入加密会话密钥命令时,上述第四处理模块1006,具体用于根据所述导入加密会话密钥命令的数据域中的集装序号,检索相应的集装文件,使用所述检索到的集装文件中的签名私钥,对所述导入加密会话密钥命令中的会话密钥密文进行解密,对解密得到的会话密钥进行保存,发送所述会话密钥的序号。上述第一判断模块1002,具体用于判断所述接收到的命令的首标中的第二字节的取值是否为第十预设值,如果是,则确定所述接收到的命令为导入加密会话密钥命令;否贝U,则确定所述接收到的命令不是导入加密会话密钥命令。需要使用集装文件的命令预设的为签名命令时,上述第四处理模块1006,具体用于根据所述签名命令的数据域中的集装序号,检索相应的集装文件,使用所述检索到的集装文件中的签名私钥,对所述签名命令中的待签名数据进行签名,发送签名结果。上述第一判断模块1002,具体用于判断所述接收到的命令是否满足以下条件
首标中的第二字节的取值是为第十一预设值,且首标中的第三字节的取值是为第十二预设值;如果满足,则确定所述接收到的命令为签名命令;否则,则确定所述接收到的命令不是签名命令。第五处理模块1007,用于在第一判断模块1002判断所述接收到的命令为删除集装命令时,根据所述删除集装命令的数据域所包含的集装序号或集装名称,检索相应的集装文件,将检索到的集装文件删除,发送用于表示正确执行的响应报文。上述第五处理模块1007,还用于对与所述检索到的集装文件关联的证书文件和/或密钥进行删除。上述的装置,还包括 比较模块1008,用于根据所述创建集装命令所包含的应用序号,检索相应的应用;获取检索到的应用上已创建的集装文件的集装序号,将获取的集装序号与所述创建集装命令中的集装序号进行比较;相应地,第一处理模块1003,具体用于当所述创建集装命令中的集装序号与所述检索到的应用上所有已创建的集装文件的集装序号均不相同时,生成集装文件,将所述创建集装命令中的集装序号写入到所述集装文件的头信息中,将所述创建集装命令中的集装名称写入到所述集装文件中,发送用于表示正确执行的响应报文。上述的装置,还包括第二判断模块1009,用于在第一判断模块1002判断所述接收到的命令为预设的导入证书命令时,判断所述导入证书命令中是否包含证书类别;第六处理模块1010,用于在第二判断模块1009判断所述导入证书命令中包含证书类别时,将所述证书类别写入到预先选定的证书文件的头信息中,将所述导入证书命令中的证书内容写入到所述证书文件中,发送用于表示正确执行的响应报文;在所述第二判断模块判断所述导入证书命令中不包含证书类别时,发送包含错误码的响应报文。上述第六处理模块1010,具体用于在第二判断模块1009判断所述导入证书命令中包含证书类别时,将所述证书类别写入到预先选定的证书文件的头信息中,根据所述导入证书命令的首标中的第三字节和第四字节的取值,将所述证书内容写入到所述证书文件的正文的相应位置,发送用于表示正确执行的响应报文。上述的装置,还包括第三判断模块1011,用于判断所述导入证书命令中是否包含集装序号;相应地,上述第六处理模块1010,还用于在第三判断模块1011判断所述导入证书命令中包含集装序号时,将所述集装序号写入到所述证书文件的头信息中;在第三判断模块1011判断所述导入证书命令中不包含集装序号时,发送包含错误码的响应报文。上述的装置,还包括第七处理模块1012,用于在第一判断模块1002判断所述接收到的命令为读证书命令时,根据所述读证书命令中的证书序号检索相应的证书文件,发送检索到的证书文件的信息。上述第一判断模块1002,具体用于判断所述接收到的命令的首标中的第二字节的取值是否为第九预设值,如果是,则确定所述接收到的命令为读证书命令;否则,确定所述接收到的命令不是读证书命令。本发明实施例将集装文件作为一个独立的文件类型来管理,并建立集装文件与证书文件之间的关联,从而在初始化时仅创建一个集装文件并不分配空间,避免空间浪费;当生成或导入密钥对时仅需指定集装文件,如果意外掉电,也不会出现中间件和COS不一致的现象。结合本文中所公开的实施例描述的方法中的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。以上所述,仅为本发明的具体实施方式
,但本发 明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
1.一种管理集装文件的方法,其特征在于,包括以下步骤 A、上电; B、等待接收命令; C、对接收到的命令进行判断,如果所述接收到的命令为预设的创建集装命令,则执行步骤D ;如果所述接收到的命令为预设的生成密钥对命令,则执行步骤E ;如果所述接收到的命令需要读集装文件,则执行步骤F ;如果所述接收到的命令需要使用集装文件,则执行步骤G ;如果所述接收到的命令为删除集装命令,则执行步骤H ; D、生成集装文件,将所述创建集装命令中的集装序号写入到所述集装文件的头信息中,将所述创建集装命令中的集装名称写入到所述集装文件中,发送用于表示正确执行的响应报文,并返回步骤B; 或者, 分配一个未被使用的集装序号,生成集装文件,将分配的集装序号和写入到生成的集装文件的头信息中,将所述创建集装命令中的集装名称写入到所述生成的集装文件,发送包含所述分配的集装序号的响应报文,并返回步骤B ; E、根据所述生成密钥对命令中的集装序号,检索相应的集装文件;根据所述生成密钥对命令中的输入数据生成密钥对,根据所述生成密钥对命令中的集装序号,将所述密钥对和所述生成密钥对命令中的集装类别写入到检索到的集装文件中,发送包含所述密钥对中的公钥数据的响应报文,并返回步骤B ; F、根据所述接收到的命令中的集装序号,检索相应的集装文件,发送包含检索到的集装文件的内容的响应报文,并返回步骤B ; G、根据所述接收到的命令的数据域中的集装序号,检索相应的集装文件,使用与检索到的集装文件对应的密钥,执行与所述接收到的命令对应的操作,发送相应的响应报文,并返回步骤B ; H、根据所述删除集装命令的数据域所包含的集装序号或集装名称,检索相应的集装文件,将检索到的集装文件删除,发送用于表示正确执行的响应报文,并返回步骤B。
2.如权利要求1所述的方法,其特征在于,所述生成集装文件之前,还包括 根据所述创建集装命令所包含的应用序号,检索相应的应用; 获取检索到的应用上已创建的集装文件的集装序号,将获取的集装序号与所述创建集装命令中的集装序号进行比较; 所述生成集装文件,具体为 当所述创建集装命令中的集装序号与所述检索到的应用上所有已创建的集装文件的集装序号均不相同时,生成集装文件。
3.如权利要求1所述的方法,其特征在于,判断所述接收到的命令是否为创建集装命令,具体为 判断所述接收到的命令是否同时满足以下条件 首标中的第二字节的取值为第一预设值,且数据域中的文件属性的取值为第二预设值; 如果同时满足,则确定所述接收到的命令为创建集装命令;否则,确定所述接收到的命令不是创建集装命令;或者, 对所述接收到的命令的首标中的第二字节的取值进行判断,如果第二字节的取值为第三预设值,则确定所述接收到的命令为的创建集装命令;如果第二字节的取值不是第三预设值,则确定所述接收到的命令不是创建集装命令。
4.如权利要求1所述的方法,其特征在于,所述对接收到的命令进行判断之后,还包括 如果所述接收到的命令为预设的导入证书命令,则判断所述导入证书命令中是否包含证书类别,如果是,则将所述证书类别写入到预先选定的证书文件的头信息中,将所述导入证书命令中的证书内容写入到所述证书文件中,发送用于表示正确执行的响应报文,并返回步骤B ;否则,发送包含错误码的响应报文,并返回步骤B。
5.如权利要求4所述的方法,其特征在于,判断所述接收到的命令是否为导入证书命令,具体为 判断所述接收到的命令的首标中的第二字节的取值是否为第五预设值,如果是,则确定所述接收到的命令为导入证书命令;否则,则确定所述接收到的命令不是导入证书命令。
6.如权利要求4所述的方法,其特征在于,所述将导入证书命令中的证书内容写入到所述证书文件中,具体为 根据所述导入证书命令的首标中的第三字节和第四字节的取值,将所述证书内容写入到所述证书文件的正文的相应位置。
7.如权利要求4所述的方法,其特征在于,还包括 判断所述导入证书命令中是否包含集装序号,如果是,则将所述集装序号写入到所述证书文件的头信息中;否则,发送包含错误码的响应报文,并返回步骤B。
8.如权利要求1所述的方法,其特征在于,所述将检索到的集装文件删除之后,还包括 对与所述检索到的集装文件关联的证书文件和/或密钥进行删除。
9.如权利要求1所述的方法,其特征在于,判断所述接收到的命令是否为预设的生成密钥对命令,具体为 判断所述接收到的命令的首标中的第二字节的取值是否为第四预设值,如果是,则确定所述接收到的命令为生成密钥对命令;否则,则确定所述接收到的命令不是生成密钥对命令。
10.如权利要求1所述的方法,其特征在于,需要读集装文件的命令为预设的读公钥命令时, 所述发送包含检索到的集装文件的内容的响应报文,具体为 如果所述读公钥命令的首标中的第三字节的取值为第七预设值,则发送响应报文,所述响应报文中包含所述检索到的集装文件中的签名公钥; 如果所述读公钥命令的首标中的第三字节的取值为第八预设值,则发送响应报文,所述响应报文中包含所述检索到的集装文件中的加解密公钥。
11.如权利要求10所述的方法,其特征在于,判断所述接收到的命令是否为读公钥命令,具体为 判断所述接收到的命令的首标中的第二字节的取值是否为第六预设值,如果是,则确定所述接收到的命令为读公钥命令;否则,则确定所述接收到的命令不是读公钥命令。
12.如权利要求1所述的方法,其特征在于,所述对接收到的命令进行判断之后,还包括 如果所述接收到的命令为读证书命令,则根据所述读证书命令中的证书序号检索相应的证书文件,发送检索到的证书文件的信息,并返回步骤B。
13.如权利要求12所述的方法,其特征在于,判断所述接收到的命令是否读证书命令,具体为 判断所述接收到的命令的首标中的第二字节的取值是否为第九预设值,如果是,则确定所述接收到的命令为读证书命令;否则,确定所述接收到的命令不是读证书命令。
14.如权利要求1所述的方法,其特征在于,需要使用集装文件的命令为预设的导入加密会话密钥命令时, 所述使用与检索到的集装文件对应的密钥,执行与所述接收到的命令对应的操作,发送相应的响应报文,具体为 使用所述检索到的集装文件中的签名私钥,对所述导入加密会话密钥命令中的会话密钥密文进行解密,对解密得到的会话密钥进行保存,发送所述会话密钥的序号。
15.如权利要求14所述的方法,其特征在于,判断所述接收到的命令是否为导入加密会话密钥命令,具体为 判断所述接收到的命令的首标中的第二字节的取值是否为第十预设值,如果是,则确定所述接收到的命令为导入加密会话密钥命令;否则,则确定所述接收到的命令不是导入加密会话密钥命令。
16.如权利要求1所述的方法,其特征在于,需要使用集装文件的命令为预设的签名命令时, 所述使用与检索到的集装文件对应的密钥,执行与所述接收到的命令对应的操作,发送相应的响应报文,具体为 使用所述检索到的集装文件中的签名私钥,对所述签名命令中的待签名数据进行签名,发送签名结果。
17.如权利要求16所述的方法,其特征在于,判断所述接收到的命令是否为签名命令,具体为 判断所述接收到的命令是否满足以下条件 首标中的第二字节的取值是为第十一预设值,且首标中的第三字节的取值是为第十二预设值; 如果满足,则确定所述接收到的命令为签名命令;否则,则确定所述接收到的命令不是签名命令。
18.如权利要求1所述的方法,其特征在于,判断所述接收到的命令是否为删除集装命令,具体为 判断所述接收到的命令的首标中的第二字节的取值是否为第十三预设值,如果是,则确定所述接收到的命令为删除集装命令;否则,则确定所述接收到的命令不是删除集装命令。
19.一种管理集装文件的装置,其特征在于,包括接收模块,用于接收命令; 第一判断模块,用于对所述接收模块接收到的命令进行判断; 第一处理模块,用于在所述第一判断模块判断所述接收到的命令为预设的创建集装命令时,生成集装文件,将所述创建集装命令中的集装序号写入到所述集装文件的头信息中,将所述创建集装命令中的集装名称写入到所述集装文件中,发送用于表示正确执行的响应报文; 或者, 分配一个未被使用的集装序号,生成集装文件,将分配的集装序号和写入到生成的集装文件的头信息中,将所述创建集装命令中的集装名称写入到所述生成的集装文件,发送包含所述分配的集装序号的响应报文; 第二处理模块,用于在所述第一判断模块判断所述接收到的命令为生成密钥对命令时,根据所述生成密钥对命令中的集装序号,检索相应的集装文件;根据所述生成密钥对命令中的输入数据生成密钥对,根据所述生成密钥对命令中的集装序号,将所述密钥对和所述生成密钥对命令中的集装类别写入到检索到的集装文件中,发送包含所述密钥对中的公钥数据的响应报文; 第三处理模块,用于在所述第一判断模块判断所述接收到的命令需要读集装文件时,根据所述接收到的命令中的集装序号,检索相应的集装文件,发送包含检索到的集装文件的内容的响应报文; 第四处理模块,用于在所述第一判断模块判断所述接收到的命令需要使用集装文件时,根据所述接收到的命令的数据域中的集装序号,检索相应的集装文件,使用与检索到的集装文件对应的密钥,执行与所述接收到的命令对应的操作,发送相应的响应报文; 第五处理模块,用于在所述第一判断模块判断所述接收到的命令为删除集装命令时,根据所述删除集装命令的数据域所包含的集装序号或集装名称,检索相应的集装文件,将检索到的集装文件删除,发送用于表示正确执行的响应报文。
20.如权利要求19所述的装置,其特征在于,还包括 比较模块,用于根据所述创建集装命令所包含的应用序号,检索相应的应用;获取检索到的应用上已创建的集装文件的集装序号,将获取的集装序号与所述创建集装命令中的集装序号进行比较; 第一处理模块,具体用于当所述创建集装命令中的集装序号与所述检索到的应用上所有已创建的集装文件的集装序号均不相同时,生成集装文件,将所述创建集装命令中的集装序号写入到所述集装文件的头信息中,将所述创建集装命令中的集装名称写入到所述集装文件中,发送用于表示正确执行的响应报文。
21.如权利要求19所述的装置,其特征在于, 所述第一判断模块,具体用于判断所述接收到的命令是否同时满足以下条件 首标中的第二字节的取值为第一预设值,且数据域中的文件属性的取值为第二预设值; 如果同时满足,则确定所述接收到的命令为创建集装命令;否则,确定所述接收到的命令不是创建集装命令; 或者,对所述接收到的命令的首标中的第二字节的取值进行判断,如果第二字节的取值为第三预设值,则确定所述接收到的命令为的创建集装命令;如果第二字节的取值不是第三预设值,则确定所述接收到的命令不是创建集装命令。
22.如权利要求19所述的装置,其特征在于,还包括 第二判断模块,用于在所述第一判断模块判断所述接收到的命令为预设的导入证书命令时,判断所述导入证书命令中是否包含证书类别; 第六处理模块,用于在所述第二判断模块判断所述导入证书命令中包含证书类别时,将所述证书类别写入到预先选定的证书文件的头信息中,将所述导入证书命令中的证书内容写入到所述证书文件中,发送用于表示正确执行的响应报文;在所述第二判断模块判断所述导入证书命令中不包含证书类别时,发送包含错误码的响应报文。
23.如权利要求22所述的装置,其特征在于,所述第一判断模块,具体用于判断所述接收到的命令的首标中的第二字节的取值是否为第五预设值,如果是,则确定所述接收到的命令为导入证书命令;否则,则确定所述接收到的命令不是导入证书命令。
24.如权利要求22所述的装置,其特征在于,所述第六处理模块,具体用于在所述第二判断模块判断所述导入证书命令中包含证书类别时,将所述证书类别写入到预先选定的证书文件的头信息中,根据所述导入证书命令的首标中的第三字节和第四字节的取值,将所述证书内容写入到所述证书文件的正文的相应位置,发送用于表示正确执行的响应报文。
25.如权利要求22所述的装置,其特征在于,还包括 第三判断模块,用于判断所述导入证书命令中是否包含集装序号; 所述第六处理模块,还用于在所述第三判断模块判断所述导入证书命令中包含集装序号时,将所述集装序号写入到所述证书文件的头信息中;在所述第三判断模块判断所述导入证书命令中不包含集装序号时,发送包含错误码的响应报文。
26.如权利要求22所述的装置,其特征在于, 所述第五处理模块,还用于对与所述检索到的集装文件关联的证书文件和/或密钥进行删除。
27.如权利要求19所述的装置,其特征在于, 所述第一判断模块,具体用于判断所述接收到的命令的首标中的第二字节的取值是否为第五预设值,如果是,则确定所述接收到的命令为生成密钥对命令;否则,则确定所述接收到的命令不是生成密钥对命令。
28.如权利要求19所述的装置,其特征在于,所述第一判断模块,还用于在判断所述接收到的命令为预设的读公钥命令时,对所述读公钥命令的首标中的第三字节的取值进行判断; 所述第三处理模块,用于在所述第一判断模块判断所述读公钥命令的首标中的第三字节的取值为第七预设值时,根据所述接收到的命令中的集装序号,检索相应的集装文件,发送响应报文,所述响应报文中包含所述检索到的集装文件中的签名公钥; 在所述第一判断模块判断所述读公钥命令的首标中的第三字节的取值为第八预设值时,根据所述接收到的命令中的集装序号,检索相应的集装文件,发送响应报文,发送响应报文,所述响应报文中包含所述检索到的集装文件中的加解密公钥。
29.如权利要求28所述的装置,其特征在于,所述第一判断模块,具体用于判断所述接收到的命令的首标中的第二字节的取值是否为第六预设值,如果是,则确定所述接收到的命令为读公钥命令;否则,则确定所述接收到的命令不是读公钥命令。
30.如权利要求19所述的装置,其特征在于,还包括 第七处理模块,用于在所述第一判断模块判断所述接收到的命令为读证书命令时,根据所述读证书命令中的证书序号检索相应的证书文件,发送检索到的证书文件的信息。
31.如权利要求30所述的装置,其特征在于, 所述第一判断模块,具体用于判断所述接收到的命令的首标中的第二字节的取值是否为第九预设值,如果是,则确定所述接收到的命令为读证书命令;否则,确定所述接收到的命令不是读证书命令。
32.如权利要求19所述的装置,其特征在于,需要使用集装文件的命令为预设的导入加密会话密钥命令时, 所述第四处理模块,具体用于根据所述导入加密会话密钥命令的数据域中的集装序号,检索相应的集装文件,使用所述检索到的集装文件中的签名私钥,对所述导入加密会话密钥命令中的会话密钥密文进行解密,对解密得到的会话密钥进行保存,发送所述会话密钥的序号。
33.如权利要求32所述的装置,其特征在于, 所述第一判断模块,具体用于判断所述接收到的命令的首标中的第二字节的取值是否为第十预设值,如果是,则确定所述接收到的命令为导入加密会话密钥命令;否则,则确定所述接收到的命令不是导入加密会话密钥命令。
34.如权利要求19所述的装置,其特征在于,需要使用集装文件的命令预设的为签名命令时, 所述第四处理模块,具体用于根据所述签名命令的数据域中的集装序号,检索相应的集装文件,使用所述检索到的集装文件中的签名私钥,对所述签名命令中的待签名数据进行签名,发送签名结果。
35.如权利要求34所述的装置,其特征在于, 所述第一判断模块,具体用于判断所述接收到的命令是否满足以下条件 首标中的第二字节的取值是为第十一预设值,且首标中的第三字节的取值是为第十二预设值; 如果满足,则确定所述接收到的命令为签名命令;否则,则确定所述接收到的命令不是签名命令。
36.如权利要求19所述的装置,其特征在于, 所述第一判断模块,具体用于判断所述接收到的命令的首标中的第二字节的取值是否为第十三预设值,如果是,则确定所述接收到的命令为删除集装命令;否则,则确定所述接收到的命令不是删除集装命令。
全文摘要
本发明公开一种管理集装文件的方法和装置,该方法包括以下步骤上电;等待接收命令;对接收到的命令进行判断,根据接收到的命令创建集装文件、生成密钥对、读集装文件、使用集装文件或者删除集装文件。本发明实施例将集装文件作为一个独立的文件类型来管理,并建立集装文件与证书文件之间的关联,从而在初始化时仅创建一个集装文件并不分配空间,避免空间浪费;当生成或导入密钥对时仅需指定集装文件,如果意外掉电,也不会出现中间件和COS不一致的现象。
文档编号H04L9/32GK103001774SQ201210504299
公开日2013年3月27日 申请日期2012年11月30日 优先权日2012年11月30日
发明者陆舟, 于华章 申请人:飞天诚信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1