一种升级包的签名及验签方法、存储介质技术

技术编号:24498269 阅读:335 留言:0更新日期:2020-06-13 03:56
本发明专利技术涉及软件升级技术领域,具体公开了一种升级包的签名及验签方法、存储介质,所述签名方法通过生成第一签名文件、第二签名文件、第三签名文件,并将所述第一签名文件、第二签名文件、第三签名文件添入源升级包中的同一目录下,得到新升级包。所述验签方法根据所述新升级包中的所述第一签名文件、第二签名文件和第三签名文件对所述源升级包进行验签。本发明专利技术解决了如何在进入升级之前对升级包进行整包的签名及验证的问题,并且本发明专利技术的升级包,在进行Android升级时,在解签、验签的过程中,使用者不用解压两次升级包,也不需要去关注解签及验签的函数及代码,只需应用接口即可使用,操作更加方便灵活。

A method and storage medium for signature and signature verification of upgrade package

【技术实现步骤摘要】
一种升级包的签名及验签方法、存储介质
本专利技术涉及软件升级
,尤其涉及一种升级包的签名及验签方法、存储介质。
技术介绍
在日常生活中,签名通常被作为个人身份的凭证。当一份文件上有某个人的签名时,便相信此份文件确实已由此人审阅。与之类似,在数字安全领域中,数字签名也起着类似的作用。首先,数字签名证实了一份数字信息确实来自于某个实体。因为基于非对称加密的原理,用私钥加密的消息只能用对应的公钥解密,反之亦然。签名是由该实体的私钥生成,而私钥只由签名方持有,也只能用签名方的公钥对签名进行解密。而当解密成功时,便可相信是签名方生成了此消息。其次,数字签名可以确保消息在传递过程中未被篡改。在做OTA升级功能时,Android升级策略多在进入recovery之后,对Android的SOC的升级包进行签名验证,这样的弊端是只有当进入了recovery升级模式之后,才知道升级包有没有被篡改,并且只能针对SOC的升级包进行签名验证工作,如果是带MCU的升级包,升级MCU之前没有做签名及验签,相当于整个升级包没有做签名,无法保证MCU的软件被本文档来自技高网...

【技术保护点】
1.一种升级包的签名方法,其特征在于,包括步骤:/nS1.对源升级包中每个文件生成摘要,得到第一签名文件;/nS2.对所述第一签名文件生成摘要,得到第二签名文件;/nS3.使用私钥对所述第二签名文件进行签名,将签名结果与公钥、证书一起打包,生成第三签名文件;/nS4.将所述第一签名文件、所述第二签名文件、所述第三签名文件添入所述源升级包中的同一目录下,得到新升级包。/n

【技术特征摘要】
1.一种升级包的签名方法,其特征在于,包括步骤:
S1.对源升级包中每个文件生成摘要,得到第一签名文件;
S2.对所述第一签名文件生成摘要,得到第二签名文件;
S3.使用私钥对所述第二签名文件进行签名,将签名结果与公钥、证书一起打包,生成第三签名文件;
S4.将所述第一签名文件、所述第二签名文件、所述第三签名文件添入所述源升级包中的同一目录下,得到新升级包。


2.如权利要求1所述的一种升级包的签名方法,其特征在于,所述步骤S1具体为:
遍历所述升级包中的所有条目,对于条目中的文件用消息摘要算法提取出文件的摘要再采用编码算法进行编码后,作为属性值写入到第一签名文件中的一个块中。


3.如权利要求2所述的一种升级包的签名方法,其特征在于:所述步骤S2具体为:
对所述第一签名文件头部的块用所述消息摘要算法提取出文件的摘要采用所述编码算法进行编码后,作为属性值写入第二签名文件中;对整个所述第一签名文件用所述消息摘要算法提取出文件的摘要再采用所述编码算法进行编码后,作为属性值写入所述第二签名文件中;对所述第一签名文件的各个条目用所述消息摘要算法提取出文件的摘要再采用所述编码算法进行编码后,作为属性值写入所述第二签名文件中。


4.如权利要求3所述的一种升级包的签名方法,其特征在于:所述消息摘要算法采用SHA1或SHA256算法,所述编码算法采用Base64算法。

...

【专利技术属性】
技术研发人员:李益明
申请(专利权)人:惠州市德赛西威汽车电子股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1