查看 apk 签名

1.通过apktool工具解压当前apk(比如:demo.apk),解压后,会生成CERT.RSA文件

**** apktool d demo.apk

备注:通过这种方式解压出来的Androidmenifest.xml文件可以通过文件编辑器打开查看;

2.通过keytool命令获取签名信息

**** keytool -printcert -file C:\Android\soft\apktool\demo\original\META-INF\CERT.RSA所有者: CN=ryt, OU=ryt, O=ryt, L=nanjing, ST=china, C=cn

发布者: CN=ryt, OU=ryt, O=ryt, L=nanjing, ST=china, C=cn

序列号: 12893889

有效期开始日期:

证书指纹:

MD5: 1A:0F:52:94:8D:DB:7A:E9:7A:7E:A5:3B:A3:A7:F9:39

SHA1: 89:57:4E:E2:1F:CB:68:CB:66:80:D6:29:57:92:AD:AC:51:4F:76:F2

SHA256: BF:FB:9C:67:E1:7B:49:26:4A:D9:84:9D:48:DA:C1:4F:00:77:74:15:27:90:95:D0:B3:D8:0A:EA:2F:81:F1:B9

签名算法名称: SHA256withRSA

版本: 3

扩展:

#1: ObjectId: 2.5.29.14 Criticality=false

SubjectKeyIdentifier [

KeyIdentifier [

0000: C3 D6 E3 9F C3 F3 1E BE 6E F9 BC 35 6F 8B 21 52 ........n..5o.!R

0010: 12 38 AD BC .8..

]

]

3.查看my.keystore签名文件的签名信息

**** keytool -list -keystore C:\Android\workspace\my.keystore

输入密钥库口令:

密钥库类型: JKS

密钥库提供方: SUN

您的密钥库包含 1 个条目

my, 2016-6-15, PrivateKeyEntry,

证书指纹 (SHA1): 89:57:4E:E2:1F:CB:68:CB:66:80:D6:29:57:92:AD:AC:51:4F:76:F2

给apk文件签名主要分三步,创建证书(如果没有)-->签名-->优化(可选)1)使用jdk的keytool工具生成签名用的证书> keytool -genkey -v -alias cert -keyalg rsa -keysize 2048 -validity 10000 -keystorecert.keystore 创建过程需要输入一些标识信息和密码,一些重要的参数值说明如下(根据自己的需要要进行相应的修改): cert.keystore ---- 证书保存的文件名 cert ---- 证书的别名 10000 ---- 10000天的有效期 2048 ---- 默认为1024 bits,android 建议使用2048 bits或更高其他的详细信息可以使用keytool -help查看帮助 证书生成后使用如下命令可以查看证书的信息:> keytool -list -alias cert -keystore cert.keystore 2)使用jdk的jarsigner工具对apk文件签名> jarsigner -verbose -keystore cert.keystore to_sign.apk cert 签名过程需要输入证书的密码,一些重要的参数值说明如下(根据自己的需要要进行相应的修改): cert.keystore ---- 证书保存的文件名 cert ---- 证书的别名 待签名的apk文件根根目录下如果有文件夹“meta-info”,请先删除(重新签名就需要这样做)。如果不想创建过程输出太多信息,可以删除“-verbose” 。上述签名会直接覆盖原来的文件,如果不想被覆盖而签名为另外的新文件 signed.akp,只需将 to_sign.apk 改为 -signedjar to_sign.apk signed.akp 即可。签名后可以使用如下命令验证是否签名成功: > jarsigner -verify to_sign.apk 如果需要查看更详细的验证信息,可修改为:> jarsigner -certs -verbose -verify to_sign.apk 3)使用android sdk的zipalign工具优化已签名的apk文件> zipalign -v 4 unaligned.apk aligned.apk 注意要在签名后再zipalign。这个工具不是jdk自带的,而是在%android_home%\tools\zipalign.exe。

0

0

0

0

d7af19063f7f5df5f14911fe00513636.png

评论(0)

“还没有人发表评论,快去抢占沙发吧”

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐