在v1版本的签名中,签名以文件的形式存在于apk包中,这个版本的apk包就是一个标准的zip包,V2和V1的差别是V2是对整个zip包进行签名,而且在zip包中增加了一个apk signature block,里面保存签名信息。
v2版本签名块(APK Signing Block)本身又主要分成三部分:
SignerData(签名者数据):主要包括签名者的证书,整个APK完整性校验hash,以及一些必要信息
Signature(签名):开发者对SignerData部分数据的签名数据
PublicKey(公钥):用于验签的公钥数据
v3版本签名块也分成同样的三部分,与v2不同的是在SignerData部分,v3新增了attr块,其中是由更小的level块组成。每个level块中可以存储一个证书信息。前一个level块证书验证下一个level证书,以此类推。最后一个level块的证书,要符合SignerData中本身的证书,即用来签名整个APK的公钥所属于的证书
v3签名key和v2还有v1有什么区别
最新推荐文章于 2024-07-26 00:45:20 发布
本文深入探讨了APK签名机制的演进,从V1版本的简单文件签名到V2和V3版本的复杂签名块结构,包括SignerData、Signature和PublicKey组件,以及V3版本中新引入的attr块和level块的概念。
966

被折叠的 条评论
为什么被折叠?



