Manifest.xml配置文件
dex文件
META签名加密文件
三方包
res资源文件
resources.arsc
参考 https://www.cnblogs.com/jenson138/p/4220668.html
签名的流程
首先要理解三个概念
数据摘要,数字签名,证书
数据摘要主要是运用算法给资源生成一个同等长度的字符串
著名的摘要算法有RSA公司的MD5算法和SHA-1算法及其大量的变体。
消息摘要的主要特点有:
1)无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。例如应用MD5算法摘要的消息有128个比特位,用SHA-1算法摘要的消息最终有160比特位的输出。
2)一般来说(不考虑碰撞的情况下),只要输入的原始数据不同,对其进行摘要以后产生的消息摘要也必不相同,即使原始数据稍有改变,输出的消息摘要便完全不同。但是,相同的输入必会产生相同的输出。
3)具有不可逆性,即只能进行正向的信息摘要,而无法从摘要中恢复出任何的原始消息。
数字签名 用私匙加密的数据摘要
我的理解是来源是申请签名的人,申请签名会生成一对公匙+私匙,然后申请人使私匙+数据摘要加密,加密后的东西在加上公匙一起给apk,这样就完成了数字签名的工作
证书
我们怎么知道公匙的合法性呢,就是通过证书
通过jarsigner会生成三个文件分别为.MF .SF .DSA
.MF是资源的摘要
.SF是依据.MF摘要来生成的 签名文件
.DSA是证书和公匙信息
参考 https://blog.csdn.net/jiangwei0910410003/article/details/50402000
参考 https://blog.csdn.net/chenzhen1080/article/details/73187687