美文网首页Android填坑
Android签名机制

Android签名机制

作者: 帅不过如此 | 来源:发表于2019-01-11 00:05 被阅读14次

MANIFEST.MF:对文件内容做一次SHA1算法,就是计算出文件的摘要信息,然后用Base64进行编码;

CERT.SF:对MANIFEST.MF文件整个内容做一个SHA1放到SHA1-Digest-Manifest字段中,再对                                   MANIFEST.MF文件中的每个条目内容做一次SHA,然后用Base64进行编码保存;

CERT.RSA :CERT.SF文件, 用私钥计算出签名, 然后将签名以及包含公钥信息的数字证书一同写入。

为何要这么来签名?

上面我们就介绍了签名apk之后的三个文件的详细内容,那么下面来总结一下,Android中为何要用这种方式进行加密签名,这种方加密是不是最安全的呢?下面我们来分析一下,如果apk文件被篡改后会发生什么。

首先,如果你改变了apk包中的任何文件,那么在apk安装校验时,改变后的文件摘要信息与MANIFEST.MF的检验信息不同,于是验证失败,程序就不能成功安装。

其次,如果你对更改的过的文件相应的算出新的摘要值,然后更改MANIFEST.MF文件里面对应的属性值,那么必定与CERT.SF文件中算出的摘要值不一样,照样验证失败。

最后,如果你还不死心,继续计算MANIFEST.MF的摘要值,相应的更改CERT.SF里面的值,那么数字签名值必定与CERT.RSA文件中记录的不一样,还是失败。

那么能不能继续伪造数字签名呢?不可能,因为没有数字证书对应的私钥。

所以,如果要重新打包后的应用程序能再Android设备上安装,必须对其进行重签名。

从上面的分析可以得出,只要修改了Apk中的任何内容,就必须重新签名,不然会提示安装失败,当然这里不会分析,后面一篇文章会注重分析为何会提示安装失败。

相关文章

  • Android V2签名机制以及ApkSignerV2签名源码解

    Android 7.0之后,新增了一个签名机制V2签名。 学习Android签名机制之前,需要你了解以下内容: 数...

  • android 系统签名

    也有提到怎么单独给一个apk签名,这里补充一下android的签名权限控制机制。 android的标准签名key有...

  • 046 Android签名机制

    彻底搞懂Android签名机制 目录 应用签名的意义 应用签名方案类型 签名方案:v1 签名方案:v2 签名方案:...

  • 签名机制和渠道打包方案原理解析

    签名机制https://source.android.com/security/apksigning/http:/...

  • Android v1、v2、v3签名详解

    Android签名机制 什么是Android签名 了解 HTTPS 通信的同学都知道,在消息通信时,必须至少解决两...

  • 前端技术月报201812期

    Android App签名流程分析 App签名机制是Android系统的安全保障,可防止App被恶意修改,有效阻止...

  • Android签名机制

    文章摘要 为何需要Android签名 防止APK被恶意篡改后,二次签名打包。 基本概念 1.数据摘要:本质上是一种...

  • Android签名机制

    MANIFEST.MF:对文件内容做一次SHA1算法,就是计算出文件的摘要信息,然后用Base64进行编码; CE...

  • Android签名机制

    很多人只知道开发完之后签名发布,签名就生成一个keystore文件就行,而不太清楚具体的签名流程,现在我就在这边简...

  • Android签名机制

    将一个签名后的APK的后缀改为.zip,然后解压后,会看到如下所示几个文件。 其中META-INF文件夹里存放的就...

网友评论

    本文标题:Android签名机制

    本文链接:https://www.haomeiwen.com/subject/afxtdqtx.html