如何获取并验证apk文件的签名信息解析

如何获取并验证apk文件的签名信息解析

ID:12973516

大小:30.28 KB

页数:11页

时间:2018-07-20

如何获取并验证apk文件的签名信息解析_第1页
如何获取并验证apk文件的签名信息解析_第2页
如何获取并验证apk文件的签名信息解析_第3页
如何获取并验证apk文件的签名信息解析_第4页
如何获取并验证apk文件的签名信息解析_第5页
资源描述:

《如何获取并验证apk文件的签名信息解析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、获取apk文件的签名信息1RSA非对称加密体系1.1PKCS7https://tools.ietf.org/html/rfc23151.1.1signedData结构SignedData::=SEQUENCE{versionINTEGER,digestAlgorithmsDigestAlgorithmIdentifiers,contentInfoContentInfo,certificates[0]IMPLICITCertificatesOPTIONAL,crls[1]IMPLICITCertificateRevocationListsOPT

2、IONAL,signerInfosSignerInfos}SignerInfos::=SETOFSignerInfoSignerInfo::=SEQUENCE{versionINTEGER,sidCertIdentifier,digestAlgorithmDigestAlgorithmIdentifier,authenticatedAttributes[0]IMPLICITAttributesOPTIONAL,digestEncryptionAlgorithmDigestEncryptionAlgId,encryptedDigestEncry

3、ptedDigest,unauthenticatedAttributes[1]IMPLICITAttributes}Attributes::=SETOFAttributeAttribute::=SEQUENCE{typeEncodedObjectID,valuesAttributeSetValue}SignedData::=SEQUENCE{versionCMSVersion,digestAlgorithmsDigestAlgorithmIdentifiers,encapContentInfoEncapsulatedContentInfo,c

4、ertificates[0]IMPLICITCertificateSetOPTIONAL,crls[1]IMPLICITRevocationInfoChoicesOPTIONAL,signerInfosSignerInfos}DigestAlgorithmIdentifiers::=SETOFDigestAlgorithmIdentifierSignerInfos::=SETOFSignerInfo1APK签名介绍http://www.pa.msu.edu/reference/jdk-1.2.2-docs/tooldocs/win32/jar

5、signer.html#签名后的JAR包,会在META-INF文件夹下面多产生两个文件,一个是.SF文件,一个是.DSA或者.RSA或者.PGP.RSA(PKCS7signature,MD5+RSA).DSA(PKCS7signature,DSA).PGP(PrettyGoodPrivacySignature)1.1MANIFEST.MFfile包含每个文件,摘要算法,摘要值(base64编码)·thefilename,·thenameofthedigestalgorithmused(SHA),and·aSHAdigestvalue.摘要值计

6、算的是文件的二进制内容。1.1TheSignature(.SF)File包含每个文件,摘要算法,摘要值(base64编码)·thefilename,·thenameofthedigestalgorithmused(SHA),and·aSHAdigestvalue.这里的摘要值计算的不是文件本身,而是MANIFEST.MF中对应文件的3行字符串。1.2TheSignatureBlock(.RSA)File签名是对.SF文件签名,对应的数字签名本身,以及证书链全部放在.RSA文件里。2JAR包完整性验证2.1校验.SF文件的签名签名过程是对SF文

7、件的内容做了摘要计算,又对摘要值做了私钥加密;验证过程是使用公钥解密,把解密出来的摘要和重新从SF文件计算出来的摘要做对比。公钥是包含在证书里面,证书又包含在PKCS7SignedData数据块里面,这个数据块就是RSA文件。同时这个PKCS7SignedData数据里包含加密后的密文,即signature部分。2.2比较SF文件里面的条目和manifest文件中的条目;SF文件头部有一个摘要是对整个manifest文件的,如果通过了匹配,则直接到下一步,不用匹配每个文件条目;如果整个manifest文件摘要匹配不成功,则需要挨个匹配每个SF

8、文件里面的条目。这种情况一般发生在,做完数字签名后,又向jar包里新加了其它文件,这个时候,manifest文件的内容会变化,但是SF文件不会,所以SF文件的条目可

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。