Android签名与风险分析

本文详细介绍了Android签名的概念、作用、签名方法,包括使用keytool和jarsigner命令以及signapk工具。通过分析签名过程,阐述了签名对App升级、模块化和权限共享的影响,并讨论了签名的安全性问题,如利用平台密钥篡改权限。同时,总结了签名验证过程中的各种情况,以确保应用的安全与稳定。
摘要由CSDN通过智能技术生成

Android签名概括:

在Android 系统中,所有安装到系统的应用程序都必有一个数字证书,这个数字证书就是这个应用的签名。此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个 permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应 用程序才能取得该权限。这个数字证书并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证的。

Android签名作用:

为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,冒充原来的应哟功能。我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布的版本的一致性(如自动更新不会因为版本不一致而无法安装)。

概括起来有以下几点:

(1 )  发送者的身份认证

(2)保证输入信息的完整性

(3)防止交易中的抵赖发生

Android签名方法:

方法一: 使用keytool和jarsigner命令

创建key,需要用到 keytool,使用产生的key对apk签名用到的是jarsigner。

keytool -genkey -alias demo.keystore -keyalg RSA -validity 40000 -keystore demo.keystore

/*说明:-genkey 产生密钥

-alias demo.keystore 别名 demo.keystore

-keyalg RSA 使用RSA算法对签名加密

-validity 40000 有效期限4000天

-keystore demo.keystore */

jarsigner -verbose -keystore demo.keystore -signedjar demo_signed.apk demo.apk demo.keystore

说明:-verbose 输出签名的详细信息

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值