Android_签名

2015-09-10  本文已影响307人  738bc070cd74

生成签名文件

cmd_create.png

keytool工具是Java JDK自带的证书工具
-genkey参数表示:要生成一个证书(版权、身份识别的安全证书)
-alias参数表示:证书有别名,-alias test 表示证书别名为test
-keyalg RSA表示加密类型,RSA表示需要加密,以防止别人盗取
-validity 2000表示有效时间2000天
-keystore test表示要生成的证书名称为test
生成的数字证书test里面包换了非对称加密的私钥、公钥和证书。

create_new_keystore.png

填写如下相关信息->finish


createpng

进行签名

jarsigner -verbose -keystore test -storepass 123456 -signedjar game\dist\game_signed.apk game\dist\game.apk test

jarsigner是Java的签名工具
-verbose参数表示:显示出签名详细信息
-keystore表示使用当前目录中的android123.keystore签名证书文件。
-signedjar game_signed.apk表示签名后生成的APK名称,game.apk表示未签名的APK Android软件, android.keystore表示别名

签名后的apk最好做一次4自己对齐操作

zipalign -f 4 game\dist\game_signed.apk apks\game\game_packed.apk

签名后解开apk文件里面会多了META-INT文件夹

meta-inf.png MANIFEST.MF.png

里面包含了所有apk中资源分别求Hash值

TEST.SF.png

首先对MANIFEST.MF整个文件求Hash值存放在SHA1-Digest-Manifest中,然后再对MANIFEST.MF里面的Hash值再求Hash值。

CERT.RSA保存加密后的信息,非对称加密的公钥,发行者名称和主体名称,生效日期和终止日期等

签名的作用

上一篇 下一篇

猜你喜欢

热点阅读