您现在的位置是:首页» windows系统» android平台签名工具,android的签名工具

android平台签名工具,android的签名工具

2023-10-16 17:04:49
今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!  Android签名是在APK(Android应用程序包)中添加一个“指纹”,一旦指纹被添加,任何对APK的修改都会使这个指纹无效。当Android系统安装APK并进行签名校

今天小编为大家分享Windows系统下载、Windows系统教程、windows相关应用程序的文章,希望能够帮助到大家!

  Android签名是在APK(Android应用程序包)中添加一个“指纹”,一旦指纹被添加,任何对APK的修改都会使这个指纹无效。当Android系统安装APK并进行签名校验时,如果校验不通过,就意味着APK不安全。

  我们先来了解一下签名的基本概念。签名就是使用一段看起来很随机的字符串来表示一个文件的唯一性。这种字符串是无法被反向推导出原始文件的内容的,因此被称为不可逆向。常见的摘要算法有MD5和SHA-1算法。

  此外,还有公钥密码体制,也称为非对称算法。这种算法的特点是,公钥是公开的,而私钥是保密的。RSA就是一种常见的公钥密码体制。

  在Android中,签名方案有两种,V1和V2。V1方案是基于jarsigner(JDK自带的工具,使用keystore文件进行签名)或apksigner(Android专门提供的工具,使用pk8和x509.pem进行签名)。这两种文件可以相互转换。

  V1方案中,keystore文件包含了一个MD5和一个SHA1摘要。很多开放平台需要我们上传这些摘要数据。签名APK后,在META-INF文件夹下会生成CERT.RSA、CERT.SF和MANIFEST.MF三个文件。META-INF文件夹保存着APK的签名信息,至少会包含三个文件,即[CERT].RSA、[CERT].SF和MANIFEST.MF。

  MANIFEST.MF中包含了除META-INF文件夹外所有文件的签名值。签名方法是先进行SHA1或其他哈希方法,然后进行base64编码。存储形式是文件名加上[SHA1]-Digest。

  [CERT].SF是对MANIFEST.MF文件整体以及其中各个条目的签名。如果使用工具进行签名,还会在此处多包括一项,对MANIFEST.MF头部信息的签名。

  [CERT].RSA文件包含了对[CERT].SF的签名以及公钥信息。私钥被保密,无法进行伪造。

  那么,签名是否存在伪造的可能呢?如果修改了APK中的文件,校验时计算出的文件摘要值与MANIFEST.MF文件中的条目不匹配,校验失败。如果修改了APK中的文件和MANIFEST.MF,那么MANIFEST.MF修改过的条目的摘要与[CERT].SF对应的条目不匹配,同样失败。如果修改了APK中的文件、MANIFEST.MF、[CERT].SF,那么计算出的[CERT].SF签名与[CERT].RSA中记录的签名值不匹配,也会失败。但是由于证书不可伪造,所以无法伪造[CERT].RSA。

  V2是在Android 7.0中新增的。在V2方案中,签名后的包会被分为四个部分:ZIP条目的内容(从偏移量0到APK签名块的开始部分)、APK签名块、ZIP中央目录和ZIP中央目录的结束部分。新应用签名方案的签名信息会被保存在APK签名块中,而ZIP条目的内容、ZIP中央目录和ZIP中央目录的结束部分是受到保护的,任何对这三个部分的修改都会被新的应用签名方案检查所拒绝。

  V3则在Android 9.0中新增的。V3的格式和V2类似,但在V2插入的签名块中添加了一个新块,叫做Attr块。在这个新块中,记录了之前的签名信息以及新的签名信息,通过密钥转轮的方案来替换和升级签名。这意味着,只要手中有旧签名证书,我们就可以通过它在新的APK文件中更改签名。

  V3签名新增了一个新块(attr),用链表的形式存储了所有的签名信息。每个节点都包含了用于为之前版本应用的签名的签名证书,最旧的签名证书对应根节点。系统会让每个节点中的证书为列表中的下一个证书签名,从而为每个新密钥提供证据来证明它应该像旧密钥一样可信。这个过程有点类似于CA证书的证明过程,已安装的App的旧签名确保了覆盖安装的APK的新签名的正确性,将信任传递下去。

  需要注意的是,签名方式只支持升级,不支持降级。比如,如果安装了V2的包,不能覆盖替换为V1的包。

  总结一下,Android签名是为了保证安全性而在APK中添加一个指纹。通过使用摘要算法和公钥密码体制,实现了对APK的校验以及防止伪造签名。V1、V2和V3是Android中的不同签名方案,每个方案都有自己的特点和安全性措施。签名不仅能确保APK的完整性,还能为用户提供信任和安全保障。

wWw.Xtw.com.Cn系统网专业应用软件下载教程,免费windows10系统,win11,办公软件,OA办公系统,OA软件,办公自动化软件,开源系统,移动办公软件等信息,解决一体化的办公方案。

免责声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。内容仅供参考使用,不准确地方联系删除处理!

联系邮箱:773537036@qq.com