The invention provides a signature method, a signature verification method and a device for an application software, in which the signature method is applied to the development end of the application software. The method includes: parsing the APK folder of the target application software, obtaining a plurality of documents to be signed, signing a plurality of documents to be signed, obtaining the first Digest value corresponding to each document to be signed, and multiple documents to be signed. The first digest value of the object forms the digest value combination; the second digest value is obtained by re-signing the digest value combination; the second digest value is encrypted and compressed to obtain the APK signature file of the target application software. The invention carries out the second signature for the application software, which consumes less time and has higher efficiency, and also improves the security of the application software.
【技术实现步骤摘要】
应用软件的签名方法、验签方法和装置
本专利技术涉及软件安全领域,尤其是涉及一种应用软件的签名方法、验签方法和装置。
技术介绍
现有Android应用程序采用自签名的方式对应用软件进行签名,需要对应用软件的所有文件进行消息摘要的计算,耗时较长、效率较低;不需要监管机构的签名认证,攻击者可对应用软件进行反编译,篡改应用软件的源代码生成恶意应用,并使用自生成的数字证书进行签名,从而变为更新版本,发布到互联网中传播,对原始应用开发者的版权造成侵害,对用户财产造成损失、隐私造成安全威胁。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种应用软件的签名方法、验签方法和装置,以提高签名效率,同时提高应用软件的安全性。第一方面,本专利技术实施例提供了一种应用软件的签名方法,该方法应用于应用软件的开发端,方法包括:解析目标应用软件的APK文件夹,得到多个待签名文件;分别对多个待签名文件进行签名处理,得到每个待签名文件对应的第一摘要值;多个待签名文件对应的第一摘要值形成摘要值组合;对摘要值组合进行再次签名处理,得到第二摘要值;对第二摘要值进行加密和压缩处理,得到目标应用软件的APK签名文件。进一步地,上述待签名文件包括:MANIFEST.MF、CERT.SF和CERT.RSA。进一步地,上述分别对多个待签名文件进行签名处理,得到每个待签名文件对应的第一摘要值的步骤,包括:通过MD5算法或SHA1算法,对MANIFEST.MF、CERT.SF和CERT.RSA分别进行哈希计算,得到对应的第一摘要值;上述方法还包括:对MANIFEST.MF、CERT.SF和CERT.RSA的第一 ...
【技术保护点】
1.一种应用软件的签名方法,其特征在于,所述方法应用于应用软件的开发端,所述方法包括:解析目标应用软件的APK文件夹,得到多个待签名文件;分别对多个所述待签名文件进行签名处理,得到每个所述待签名文件对应的第一摘要值;多个所述待签名文件对应的第一摘要值形成摘要值组合;对所述摘要值组合进行再次签名处理,得到第二摘要值;对所述第二摘要值进行加密和压缩处理,得到目标应用软件的APK签名文件。
【技术特征摘要】
2018.08.10 CN 20181090839681.一种应用软件的签名方法,其特征在于,所述方法应用于应用软件的开发端,所述方法包括:解析目标应用软件的APK文件夹,得到多个待签名文件;分别对多个所述待签名文件进行签名处理,得到每个所述待签名文件对应的第一摘要值;多个所述待签名文件对应的第一摘要值形成摘要值组合;对所述摘要值组合进行再次签名处理,得到第二摘要值;对所述第二摘要值进行加密和压缩处理,得到目标应用软件的APK签名文件。2.根据权利要求1的方法,其特征在于,所述待签名文件包括:MANIFEST.MF、CERT.SF和CERT.RSA。3.根据权利要求2的方法,其特征在于,所述分别对多个所述待签名文件进行签名处理,得到每个所述待签名文件对应的第一摘要值的步骤,包括:通过MD5算法或SHA1算法,对MANIFEST.MF、CERT.SF和CERT.RSA分别进行哈希计算,得到对应的所述第一摘要值;所述方法还包括:对MANIFEST.MF、CERT.SF和CERT.RSA的第一摘要值进行组装,得到摘要值组合。4.根据权利要求2的方法,其特征在于,所述对第二摘要值进行加密和压缩处理,得到目标应用软件的APK签名文件的步骤,包括:通过预设的私钥,对所述第二摘要值进行加密处理,得到加密文件;将所述加密文件和证书文件进行压缩处理的,得到所述目标应用软件的APK签名文件;所述证书文件包括私钥对应的公钥和签名机构信息。5.一种应用软件的验签方法,其特征在于,该方法应用于应用软件的供应端,所述方法包括:解析目标应用软件的APK签名文件,得到多个加密文件及证书文件;分别对多个所述加密文件进行解密处理,得到每个所述加密文件对应的第一摘要值;多个所述加密文件对应的第一摘要值形成摘要值组合;对所述摘要值组合进行再次解密处理,得到第二摘要值;通过预设的公钥对证书文件进行解密处理,...
【专利技术属性】
技术研发人员:郭燕慧,余冰涛,张淼,徐国爱,
申请(专利权)人:北京邮电大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。